As aspas simples devem ser usadas para atualizações do MySQL com várias linhas?

As aspas simples devem ser usadas para atualizações do MySQL com várias linhas?

Quando você está executando um SQL UPDATE em várias linhas no MySQL, parece que você pode colocar aspas simples em cada valor ou não e isso produzirá os mesmos resultados.

Existe uma razão para usar aspas simples em uma consulta UPDATE se não usar aspas simples produzir os mesmos resultados? Existe alguma diferença?

Exemplo sem aspas:

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

Exemplo com aspas:

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

Responder1

Em geral, cite todas as strings e retire aspas dos números. Seu SQL, entretanto, será interrompido se houver aspas simples na string, portanto, escape das aspas simples dobrando-as.

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

Por outro lado, citar números em SQL é ruim. Embora o SQL tente implicitamente converter esses valores, isso pode levar a resultados indesejados. Digamos que você tenha um tipo CHAR e o alimente com um unquoted 1em vez de um quoted '1', você obteria o caractere na 1ª posição do conjunto de caracteres em vez de um caractere '1' real.

informação relacionada