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

mysql autocasting cadena a entero

De los documentos:

Su caso se incluye en "todos los demás casos".

La cadena se convertirá en un FLOAT y luego compararlo con su int_val .

Si la cadena se proyecta bien (valores como '1' , '0.1' o '1E5' ), el valor resultante se comparará con el número entero.

Si no (digamos que pasa un valor como '1235xxx' ), los posibles dígitos iniciales se convertirán en un flotante (0 si no hay), y el resto se trunca. Además, se generará una advertencia.

La razón para pasar la identificación en una cadena podría ser que su identificación no necesariamente tiene que ser un número entero. También podría ser una cadena o una fecha.

Probablemente el ORM tenga un código genérico para generar DELETE consulta que funcionaría en cualquier tipo de datos.