MySQL创建customer_status表时用rank字段报错,请求语法排查
解决MySQL创建表时使用rank作为字段名的语法错误
问题核心是rank是MySQL的保留关键字,直接将它作为字段名会触发语法错误——MySQL会把它当作SQL命令的一部分解析,而非普通字段名。
提供两种可行的解决方式:
- 更换字段名,选用非保留字的名称(比如
rank_level),修改后的SQL语句如下:
CREATE TABLE customer_status( status_id INT NOT NULL AUTO_INCREMENT, name VARCHAR (50) NOT NULL, rank_level INT NOT NULL, PRIMARY KEY(status_id)) ENGINE=innodb CHARSET=latin1 COLLATE=latin1_general_ci;
- 用反引号
`包裹rank,强制MySQL将其识别为普通字段名,修改后的SQL语句如下:
CREATE TABLE customer_status( status_id INT NOT NULL AUTO_INCREMENT, name VARCHAR (50) NOT NULL, `rank` INT NOT NULL, PRIMARY KEY(status_id)) ENGINE=innodb CHARSET=latin1 COLLATE=latin1_general_ci;
内容的提问来源于stack exchange,提问作者user19951458
相关产品推荐
相关产品推荐

