MySQL 'TYPE=MyISAM' 오류, 간단하게 해결하는 방법
MySQL에서 테이블을 생성할 때 ERROR 1064 (42000) 구문 오류가 발생한 적이 있으신가요? 이 오류는 대부분 저장 엔진을 지정할 때 TYPE이라는 예전 문법을 사용했기 때문에 발생합니다. 다행히 해결 방법은 아주 간단합니다.
해결 방법: TYPE을 ENGINE으로 변경하기
오래된 MySQL 버전에서 사용되던 TYPE 키워드는 현재 지원되지 않습니다. 이를 최신 문법인 ENGINE으로 바꿔주기만 하면 오류가 사라집니다. 올바른 문법은 다음과 같습니다.
ENGINE = MyISAM;
오류가 발생하는 상황 살펴보기
먼저, 잘못된 문법으로 인해 오류가 발생하는 경우를 확인해 보겠습니다. 아래와 같이 TYPE = MyISAM을 사용해 테이블을 생성하면 오류가 출력됩니다.
mysql> create table Customers -> ( -> CustomerId int, -> CustomerName varchar(200) -> )TYPE = MyISAM;
실행 결과 다음과 같은 에러 메시지가 나타납니다.
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 'TYPE = MyISAM' at line 5
이 오류 메시지는 SQL 구문에 문법 오류가 있다는 의미로, MySQL 서버 버전에 맞는 매뉴얼을 참고하라는 안내를 포함하고 있습니다.
올바른 문법으로 테이블 생성하기
위의 오류를 해결하려면 TYPE을 ENGINE으로 교체하면 됩니다. 수정된 쿼리는 다음과 같습니다.
mysql> create table Customers -> ( -> CustomerId int, -> CustomerName varchar(200) -> )ENGINE = MyISAM; Query OK, 0 rows affected (0.24 sec)
실행 결과 Query OK 메시지와 함께 테이블이 정상적으로 생성된 것을 확인할 수 있습니다.
정리
MySQL에서 TYPE = MyISAM은 더 이상 지원되지 않는 구문입니다. 저장 엔진을 지정할 때는 반드시 ENGINE = MyISAM과 같은 최신 문법을 사용하세요. 이 한 글자 차이만 기억하면 ERROR 1064 구문 오류를 손쉽게 피할 수 있습니다.