MySQL에서 ADD는 이미 예약어(reserved word)로 지정되어 있기 때문에, 이를 열 이름으로 사용하려면 반드시 백틱(`)으로 감싸 `ADD` 형태로 작성해야 합니다. 그렇지 않으면 SQL 구문 오류가 발생합니다.
실제 예제를 통해 확인해 보겠습니다.
1. 테이블 생성하기
먼저 예약어인 ADD를 열 이름으로 포함하는 테이블을 생성합니다.
mysql> create table DemoTable779 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, `ADD` int ); Query OK, 0 rows affected (0.47 sec)
2. 데이터 삽입하기
INSERT 명령문을 사용해 몇 개의 레코드를 삽입합니다.
mysql> insert into DemoTable779(`ADD`) values(54); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable779(`ADD`) values(89); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable779(`ADD`) values(66); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable779(`ADD`) values(58); Query OK, 1 row affected (0.10 sec)
3. 전체 레코드 조회하기
SELECT 문으로 테이블의 모든 레코드를 확인할 수 있습니다.
mysql> select *from DemoTable779;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+----+------+ | Id | ADD | +----+------+ | 1 | 54 | | 2 | 89 | | 3 | 66 | | 4 | 58 | +----+------+ 4 rows in set (0.00 sec)
4. SET 절로 'ADD' 열 값 증가시키기
UPDATE 문의 SET 절에서 자기 자신의 값을 참조하여 특정 값만큼 증가시킬 수 있습니다. 아래 예제는 `ADD` 열의 모든 값을 10씩 증가시키는 방법입니다.
mysql> update DemoTable779 set `ADD`=`ADD`+10; Query OK, 4 rows affected (0.20 sec) Rows matched: 4 Changed: 4 Warnings: 0
5. 업데이트 결과 확인하기
다시 한번 SELECT 문으로 테이블 레코드를 조회해 보겠습니다.
mysql> select *from DemoTable779;
실행 결과, 모든 행의 ADD 값이 정확히 10씩 증가한 것을 확인할 수 있습니다.
+----+------+ | Id | ADD | +----+------+ | 1 | 64 | | 2 | 99 | | 3 | 76 | | 4 | 68 | +----+------+ 4 rows in set (0.00 sec)
이처럼 MySQL에서 예약어를 열 이름으로 사용할 때는 백틱으로 감싸는 것만 주의하면, SET 절을 활용해 기존 값을 기준으로 손쉽게 값을 증가시킬 수 있습니다. WHERE 절을 추가하면 특정 조건에 맞는 행만 선택적으로 업데이트하는 것도 가능합니다.