Programming/MySQL

[MySQL] 대입 연산자 (assignment operator)

arajo 2022. 9. 8. 02:16
728x90

대입 연산자(assignment operator)

대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이다.

대입 연산자 설명
= 왼쪽 피연산자에 오른쪽 피연산자를 대입함. (SET 문이나 UPDATE 문의 SET 절에서만 대입연산자로 사용됨.)
:= 왼쪽 피연산자에 오른쪽 피연산자를 대입함.

MySQL에서 '=' 연산자는 두 가지 의미로 해석된다.

우선 SET 문이나 UPDATE 문의 SET 절에서 사용되면, 왼쪽 피연산자에 오른쪽 피연산자를 대입하는 대입 연산자로 해석된다.

SET 문이나 UPDATE 문의 SET 절 이외에서 사용되면, 왼쪽 피연산자와 오른쪽 피연산자를 비교하는 비교 연산자로 해석된다.

 

이처럼 '=' 연산자는 상황에 따라 다르게 해석될 수 있으므로, 작성자의 의도와는 다르게 해석될 여지가 있다.

따라서 MySQL에서는 언제나 대입 연산자로만 해석되는 두 번째 대입 연산자(:=)를 별도로 제공하고 있다.

첫 번째 대입 연산자(=)와 달리 두 번째 대입 연산자(:=)는 절대로 비교 연산자로 해석되지 않는다.

UPDATE Reservation
SET RoomNum = 504;
-- RoomNum의 값들이 전부 504로 수정된다.