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)

questionAnswers(3)

yourAnswerToTheQuestion