Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL ERROR 1064(42000) 해결 방법 – ')' 근처의 SQL 구문 오류 수정하기

MySQL ERROR 1064(42000) 오류란?

MySQL에서 ERROR 1064 (42000)는 SQL 문법이 잘못되었을 때 발생하는 대표적인 오류입니다. 오류 메시지에 표시된 위치 근처의 구문을 점검하면 원인을 쉽게 찾을 수 있습니다.

특히 CREATE TABLE 문 작성 시 마지막 컬럼 뒤에 불필요한 콤마(,)를 남기면 이 오류가 자주 발생합니다. 아래 예시를 통해 살펴보겠습니다.

오류가 발생하는 코드 예시

mysql> create table DemoTable1492
    -> (
    -> timestamp TIMESTAMP,
    -> event 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 ')' at line 5

위 코드를 보면 event int 컬럼 뒤에 콤마가 하나 더 붙어 있습니다. MySQL은 닫는 괄호 ) 앞에서 유효하지 않은 구문을 발견하고 오류를 반환합니다.

해결 방법: 불필요한 콤마 제거

해결 방법은 간단합니다. 마지막 컬럼 뒤의 콤마만 제거하면 됩니다.

mysql> create table DemoTable1492
    -> (
    -> timestamp TIMESTAMP,
    -> event int
    -> );
Query OK, 0 rows affected (0.44 sec)

테이블이 정상적으로 생성되었습니다.

동작 확인하기

1. 데이터 삽입

INSERT 문을 사용해 몇 개의 레코드를 추가해 보겠습니다.

mysql> insert into DemoTable1492 values(now(),101);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1492 values(now()+interval 3 month,102);
Query OK, 1 row affected (0.14 sec)

첫 번째 레코드에는 현재 시간이, 두 번째 레코드에는 현재 시간에서 3개월 후의 시간이 저장됩니다.

2. 데이터 조회

SELECT 문으로 전체 레코드를 확인합니다.

mysql> select * from DemoTable1492;

실행 결과는 다음과 같습니다.

+---------------------+-------+
| timestamp           | event |
+---------------------+-------+
| 2019-10-06 10:56:53 |   101 |
| 2020-01-06 10:57:07 |   102 |
+---------------------+-------+
2 rows in set (0.00 sec)

정리

MySQL ERROR 1064(42000)는 주로 오타나 잘못된 문법에서 비롯됩니다. 이번 사례처럼 컬럼 정의 끝에 남은 콤마 하나만으로도 오류가 발생할 수 있으므로, 오류 메시지에 안내된 위치 근처의 구문을 꼼꼼히 확인하는 습관이 중요합니다.