Когда вы выполняете SQL UPDATE для нескольких строк в MySQL, кажется, что вы можете заключать одинарные кавычки вокруг каждого значения или нет, и это даст одинаковые результаты.

Есть ли причина для использования одинарных кавычек в запросе UPDATE, если не использование одинарных кавычек дает одинаковые результаты? Есть ли разница?

Пример без кавычек:

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

Пример с кавычками:

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

1 ответ1

0

В общем, цитируйте все строки и цифры без кавычек. Однако ваш SQL будет ломаться, если в строке есть одинарные кавычки, поэтому избегайте одинарных кавычек, удваивая их.

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

С другой стороны, цитирование чисел в SQL - это плохо. Хотя SQL неявно пытается преобразовать эти значения, это может привести к нежелательным результатам. Скажем, у вас есть тип CHAR, и вы вводите его без кавычки 1 вместо кавычки '1' , вы получите символ в 1-й позиции кодировки вместо фактического символа «1».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .