¿Deberían utilizarse comillas simples para ACTUALIZACIONES de MySQL de varias filas?

¿Deberían utilizarse comillas simples para ACTUALIZACIONES de MySQL de varias filas?

Cuando realiza una ACTUALIZACIÓN de SQL en varias filas en MySQL, parece que puede poner comillas simples alrededor de cada valor o no y producirá los mismos resultados.

¿Existe alguna razón para usar comillas simples en una consulta de ACTUALIZACIÓN si no usar comillas simples produce los mismos resultados? ¿Hay alguna diferencia?

Ejemplo sin comillas:

UPDATE superuser
SET poop = rainbows
WHERE id IN (1, 2, 3);

Ejemplo con comillas:

UPDATE superuser
SET poop = rainbows
WHERE id IN ('1', '2', '3');

Respuesta1

En general, entre comillas todas las cadenas y elimine las comillas de los números. Sin embargo, su SQL se romperá si hay comillas simples en la cadena, así que evite las comillas simples duplicándolas.

SELECT * FROM superuser WHERE poop = 'johnny''s'
-- note how the string [johnny's] have double quotes

Por otro lado, citar números en SQL es malo. Aunque SQL intenta implícitamente convertir estos valores, podría generar resultados no deseados. Digamos que tiene un tipo CHAR y lo alimenta sin comillas 1en lugar de entre comillas '1', obtendría el carácter en la primera posición del conjunto de caracteres en lugar de un carácter '1' real.

información relacionada