当我尝试运行此脚本时,我在“范围”处收到错误,如果我删除或更改名称,我可以运行脚本,但应用程序需要此列来存储数据。知道如何将其插入MySQL吗?
错误代码: 1064.您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在“范围”附近使用正确的语法CHAR(5)NOT NULL,range_max_value第22行的NUMERIC(18,3)'
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 :(得分:5)
Range是一个保留关键字,需要使用反引号进行转义。
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)
);
答案 1 :(得分: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)
);
答案 2 :(得分:1)