MySQL에서 예약어 'from'을 컬럼명으로 사용하는 방법
MySQL에는 SELECT, FROM, WHERE처럼 시스템에서 특별한 의미로 사용되는 예약어(reserved word)가 있습니다. 이러한 예약어를 그대로 컬럼명으로 사용하려고 하면 문법 오류가 발생합니다.
하지만 백틱(`) 기호로 컬럼명을 감싸주면 예약어인 'from'도 정상적으로 컬럼명으로 사용할 수 있습니다. 아래 예제를 통해 단계별로 확인해 보겠습니다.
1. 백틱을 사용해 테이블 생성하기
예약어 'from'을 백틱으로 감싸서 테이블을 생성합니다.
mysql> create table DemoTable1810
(
`from` varchar(20)
);
Query OK, 0 rows affected (0.00 sec)
2. 데이터 삽입하기
INSERT 명령어를 사용해 테이블에 레코드를 추가합니다.
mysql> insert into DemoTable1810 values('US');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1810 values('UK');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1810 values('AUS');
Query OK, 1 row affected (0.00 sec)3. 데이터 조회하기
SELECT 문으로 테이블의 모든 레코드를 조회합니다. 이때도 컬럼명 'from'은 반드시 백틱으로 감싸야 합니다.
mysql> select `from` from DemoTable1810;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+------+
| from |
+------+
| US |
| UK |
| AUS |
+------+
3 rows in set (0.00 sec)
정리
MySQL에서 예약어를 컬럼명으로 사용하려면 해당 이름을 항상 백틱(`)으로 감싸야 합니다. 특히 SELECT 문처럼 FROM 절과 함께 사용되는 경우 컬럼명과 SQL 키워드가 혼동될 수 있으므로, 쿼리 전체에서 일관되게 백틱을 적용하는 것이 안전합니다. 다만 장기적인 유지보수를 고려하면, 애초에 예약어와 겹치지 않는 컬럼명을 사용하는 것이 가장 좋은 방법입니다.