Devem as citações simples ser usadas para UPDATEs MySQL de várias linhas?

0

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

Existe uma razão para usar aspas simples em uma consulta UPDATE se não usar aspas simples produz 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');
    
por THE DOCTOR 19.10.2016 / 14:23

1 resposta

0

Em geral, cite todas as strings e números unquotes. Seu SQL irá, no entanto, quebrar se houver aspas simples na string, então escape da aspa simples dobrando-a.

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

Por outro lado, citando números no SQL é ruim. Embora o SQL tente implicitamente converter esses valores, isso pode levar a resultados indesejados. Digamos que você tenha um tipo CHAR e forneça um 1 sem aspas, em vez de uma citação '1' , você obterá o caractere na primeira posição do conjunto de caracteres em vez de um caractere '1' real.

    
por 19.10.2016 / 17:49