이 오류는 예약어를 테이블 또는 열 이름으로 사용하려고 할 때 발생합니다. 다음으로 인해 발생할 수 있습니다. -
사례 1 :테이블명으로 예약어를 사용할 때마다 -
mysql> create table insert −> ( −> Id int −> );
오류는 다음과 같습니다 -
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'insert ( Id int )' at line 1
위의 오류는 'insert'라는 단어가 MySQL의 키워드이기 때문에 발생했습니다.
사례 2 − MySQL에서 열 이름으로 예약어를 사용할 때마다.
mysql> create table Customers −> ( −> Add int −> );
오류는 다음과 같습니다 -
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Add int )' at line 3
위의 에러는 컬럼명 'Add'가 MySQL의 예약어이기 때문에 발생한 것입니다.
위의 오류를 피하려면 MySQL의 모든 예약어에 대해 알아야 합니다.
MySQL 예약어 중 일부는 다음과 같습니다 -
Insert Add Is Key Like etc.
MySQL 예약 키워드의 전체 목록은 다음과 같습니다. 이것은 MySQL의 공식 웹사이트입니다 - https://dev.mysql.com/doc/refman/5.7/en/keywords.html
이 문제를 해결하려면 예약어와 함께 역따옴표를 사용하세요.
참고 - 테이블명이나 컬럼명에는 예약어를 사용할 수 없습니다. 그러나 백틱과 함께 포함하는 것이 올바른 것으로 간주됩니다.
예를 들어 -
create table `insert`
테이블 및 열 이름이 있는 백틱 데모.
mysql> create table `Insert` −> ( −> `Add` int −> ); Query OK, 0 rows affected (0.59 sec)
백틱을 사용하면 오류가 발생하지 않습니다.