2012-10-04 3 views
1

이 스크립트를 실행하려고하면 이름을 제거하거나 이름을 변경하면 "범위"에서 오류가 발생하지만 스크립트를 실행할 수 있지만 응용 프로그램에이 열이 있어야 데이터를 저장할 수 있습니다. 이 아이디어를 MySQL에 어떻게 삽입 할 수 있습니까?열 이름이 "범위"인 MySQL 문제

오류 코드 : 1064. SQL 구문에 오류가 있습니다. 22

CREATE TABLE My_table (
    chart_id    INTEGER NOT NULL, 
    u_range     CHAR(5), 
    l_range     CHAR(5), 
    "range"    CHAR(5) NOT NULL, 
    range_max_val   NUMERIC(18,3), 
    range_min_val   NUMERIC(18,3), 
    PRIMARY KEY (chart_id) 
); 

답변

5

범위가 예약되어 줄 '(5) NOT NULL, range_max_value NUMERIC (18,3) "범위"CHAR'근처를 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 backticks로 이스케이프 처리해야하는 키워드

CREATE TABLE My_table (
    chart_id    INTEGER NOT NULL, 
    u_range     CHAR(5), 
    l_range     CHAR(5), 
    `range`    CHAR(5) NOT NULL, 
    range_max_val   NUMERIC(18,3), 
    range_min_val   NUMERIC(18,3), 
    PRIMARY KEY (chart_id) 
); 
+0

감사합니다. – DoubleA9281

3

reserved words 목록을 살펴 봐야합니다. 범위은 해당 단어 중 하나입니다. 당신은 눈금으로 탈출해야합니다

CREATE TABLE My_table (
    chart_id    INTEGER NOT NULL, 
    u_range     CHAR(5), 
    l_range     CHAR(5), 
    `range`    CHAR(5) NOT NULL, 
    range_max_val   NUMERIC(18,3), 
    range_min_val   NUMERIC(18,3), 
    PRIMARY KEY (chart_id) 
); 
관련 문제