sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué SELECT... WHERE id =a devuelve un resultado si el valor es 0?

MySQL convierte silenciosamente cadenas en números en un contexto numérico.

Lo hace convirtiendo los caracteres numéricos principales (como dígitos, signo menos y punto decimal).

Si no hay dígitos, se detiene. Entonces:

where id = 'a'

se interpreta como:

where id = 0

Moraleja:nunca use comillas simples alrededor de constantes numéricas, o constantes que deberían ser números.