여러 행 MySQL 업데이트에 작은따옴표를 사용해야 합니까?

여러 행 MySQL 업데이트에 작은따옴표를 사용해야 합니까?

MySQL의 여러 행에 대해 SQL UPDATE를 수행할 때 모든 값 주위에 작은따옴표를 넣을 수도 있고 안 넣을 수도 있고 동일한 결과가 생성되는 것 같습니다.

작은따옴표를 사용하지 않아도 동일한 결과가 생성되는 경우 UPDATE 쿼리에서 작은따옴표를 사용해야 하는 이유가 있습니까? 전혀 차이가 없나요?

따옴표가 없는 예:

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

따옴표가 포함된 예:

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

답변1

일반적으로 모든 문자열을 인용하고 숫자를 인용 해제합니다. 그러나 문자열에 작은 따옴표가 있으면 SQL이 중단되므로 작은 따옴표를 두 배로 늘려 이스케이프하십시오.

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

반면에 SQL에서 숫자를 인용하는 것은 좋지 않습니다. SQL은 암시적으로 이러한 값을 변환하려고 시도하지만 원치 않는 결과가 발생할 수 있습니다. CHAR 유형이 있고 1따옴표 대신 따옴표가 없는 문자를 입력하면 '1'실제 '1' 문자 대신 문자 세트의 첫 번째 위치에 문자가 표시됩니다.

관련 정보