o mysql lança automaticamente strings para inteiros
Acabei de notar que, se eu fizer um pedido do MySQL como este:
SELECT 1 FROM myTable WHERE id = 'asdf'
Então a string 'asdf' é lançada para0
. Isso significa que eu tenho um registro com id0
isso vai combinar. O formato doid
campo éint(8).
Qual é a melhor maneira de proceder:
Eu preciso verificar (por PHP, por exemplo) que meu valor é apenas numérico?Existe uma maneira do MySQL para fazer isso?Eu devo remover meu registro com id0
? (mau)