본문 바로가기
개발일지/SQL

*매우중요 MYSQL 문제풀이 - 테이블생성 (기본문법 보완필요) ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the ri ght syntax to use near '“employed”,

by 개발에정착하고싶다 2022. 9. 22.
320x100

# 문제

Define an Employees table,

with the following fields

 

id - number(automatically increments), mandatory, primary key

last_name - text, mandatory

first_name - text, mandatory

middle_name - text, not mandatory

age - number mandatory

current_status - text, mandatory, defaults to 'employed'


# 내 답안

 

CREATE TABLE employees

(

id INT NOT NULL AUTO_INCREMENT,

last_name VARCHAR(30) NOT NULL,

first_name VARCHAR(50) NOT NULL,

middle_name VARCHAR(40),

age INT NOT NULL,

current_status VARCHAR(60) NOT NULL DEFAULT “employed”,

PRIMARY KEY (id)

);

 

하지만 이에 대해서는 

 

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the ri ght syntax to use near '“employed”,

 

라는 에러문구로 진행이 안되었다.

아니 분명히 맞는것 같은데..


# 답안 코드

 

CREATE TABLE employees

(

id INT AUTO_INCREMENT NOT NULL,

first_name VARCHAR(255) NOT NULL,

last_name VARCHAR(255) NOT NULL,

middle_name VARCHAR(255),

age INT NOT NULL,

current_status VARCHAR(255) NOT NULL DEFAULT 'employed',

PRIMARY KEY(id)

);

 

이건 되더라.

확실히 문법을 다시금 정리해야겠다.


# 문제 발견

 

에러 메세지는 employed근처에 문제가 있는것 같다고 했다.

하지만 애초에 내가 틀렸던 것이 'employed',

이렇게 싱글코테이션을 썼었는데 문법이 틀리대서 더블 코테이션으로 변경한거였는데

그래서 더블코테이션이 에러의 원인일줄은 아예 상상도 못하고 보고 또보고 50분동안 봤다.

휴... 아무튼 이런 경우는 결론적으로 DEFAULT 값을 설정할때는 싱글코테이션으로 작성하기!!!!!!!!

300x250