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

MySQL 오류 1064(42000) 해결 방법: 데이터베이스 생성 시 발생하는 문제와 백틱 활용법

MySQL 오류 1064(42000)의 주요 원인

ERROR 1064 (42000)는 SQL 구문이 올바르게 작성되지 않았을 때 주로 발생하는 오류입니다. 특히 데이터베이스를 생성할 때 다음과 같은 상황에서 자주 나타납니다.

  • 백틱(`) 기호를 잘못 사용했거나 누락한 경우
  • 데이터베이스 이름에 하이픈(-)을 포함한 경우

예를 들어 'Demo-Table'처럼 이름에 하이픈이 들어가면 MySQL은 이를 유효한 식별자로 인식하지 못해 ERROR 1064 (42000)를 반환합니다.

오류 없이 데이터베이스 생성하는 기본 구문

특수문자가 없는 일반적인 데이터베이스 이름이라면 백틱 없이도 정상적으로 생성할 수 있습니다. 기본 구문은 다음과 같습니다.

create database yourDatabaseName;

하이픈 사용 시 발생하는 오류 예시

그렇다면 데이터베이스 이름에 하이픈을 넣으면 어떻게 될까요? 실제로 실행해 보겠습니다.

mysql> create database customer-tracker;

MySQL에서는 데이터베이스 이름에 하이픈을 직접 사용할 수 없기 때문에 아래와 같은 오류 메시지가 출력됩니다.

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 '-tracker' at line 1

백틱 기호로 오류 해결하기

하이픈이 포함된 이름을 꼭 사용해야 한다면, 데이터베이스 이름 전체를 백틱(`) 기호로 감싸주면 됩니다. 이렇게 하면 MySQL이 해당 문자열을 하나의 식별자로 인식합니다.

mysql> create database `customer-tracker`;

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

Query OK, 1 row affected (0.21 sec)

이제 데이터베이스가 성공적으로 생성되었습니다.

정리

  • ERROR 1064 (42000)는 대부분 SQL 구문 오류, 특히 식별자 표기 문제에서 비롯됩니다.
  • 일반적인 이름은 백틱 없이 create database 이름; 형태로 생성하면 됩니다.
  • 하이픈 등 특수문자가 포함된 이름은 반드시 백틱(`)으로 감싸야 합니다.

이 규칙만 기억하면 데이터베이스 생성 과정에서 발생하는 1064 오류를 손쉽게 예방하고 해결할 수 있습니다.