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 1
en 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.