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

MySQL에서 이름에 공백이 포함된 테이블 생성하는 방법

MySQL에서 테이블 이름에 공백을 포함하려면 반드시 백틱(backtick) 기호를 사용해야 합니다. 백틱 없이 공백이 있는 테이블 이름을 그대로 작성하면 구문 오류가 발생합니다.

백틱 없이 생성 시 발생하는 오류

먼저, 공백이 포함된 테이블 이름(예: "Demo Table")을 백틱 없이 생성하려고 하면 어떤 오류가 발생하는지 살펴보겠습니다.

mysql> create table Demo Table
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeFirstName varchar(20),
    EmployeeLastName varchar(20),
    EmployeeAge int,
    EmployeeSalary int,
    EmployeeAddress varchar(200)
);
ERROR 1064 (42000): You have an error in your syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'Table37
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, EmployeeFirstName varchar(' at line 1 )

위와 같이 ERROR 1064 (42000) 구문 오류가 발생하는 것을 확인할 수 있습니다. MySQL은 공백이 있는 식별자를 인식하지 못하기 때문입니다.

백틱을 사용한 해결 방법

이 오류를 해결하려면 테이블 이름 전체를 백틱(`)으로 감싸주어야 합니다. 다음은 백틱을 활용하여 공백이 있는 테이블을 정상적으로 생성하는 쿼리입니다.

mysql> create table `Demo Table37`
(
    Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeFirstName varchar(20),
    EmployeeLastName varchar(20),
    EmployeeAge int,
    EmployeeSalary int,
    EmployeeAddress varchar(200)
);
Query OK, 0 rows affected (0.66 sec)

테이블 이름 `Demo Table37`처럼 공백이 포함된 이름을 백틱 기호로 감싸주었기 때문에 오류 없이 정상적으로 테이블이 생성됩니다.

정리

  • MySQL에서 공백이 포함된 테이블 이름은 반드시 백틱(`)으로 감싸야 합니다.
  • 백틱 없이 작성하면 ERROR 1064 구문 오류가 발생합니다.
  • 테이블을 조회하거나 수정할 때도 동일하게 백틱을 사용해야 합니다.

참고로, 가독성과 유지보수를 고려하면 공백 대신 언더스코어(_)를 사용하는 것이 일반적인 권장 사항입니다. 예를 들어 Demo_Table37과 같이 명명하면 백틱 없이도 자유롭게 사용할 수 있습니다.