Mysql
 sql >> Database >  >> RDS >> Mysql

Perché SELECT ... WHERE id =a restituisce un risultato se il valore è 0

MySQL converte silenziosamente le stringhe in numeri in un contesto numerico.

Lo fa convertendo i caratteri numerici iniziali (come cifre, segno meno e punto decimale).

Se non ci sono cifre, si ferma. Quindi:

where id = 'a'

viene interpretato come:

where id = 0

Morale:non utilizzare mai virgolette singole attorno a costanti numeriche o costanti che dovrebbero essere numeri.