MySQL创建数据表时报ERROR 1064语法错误的问题求助
问题根源
你触发1064语法错误的核心原因是:rank是MySQL的保留关键字,直接将其用作字段名不符合SQL语法规范,MySQL会将其识别为语法关键字而非自定义字段,进而报错。
解决方案
提供两种可直接落地的修改方式:
- 方案1:给关键字段名加反引号包裹
不需要修改字段名,仅需将rank字段用反引号`包裹即可,完整修正后的建表语句如下:
CREATE TABLE imdb( `rank` int auto_increment PRIMARY key, title varchar(255), genre varchar(255), director varchar(255), actors varchar(255), year int, -- 额外优化建议:原decimal(1,1)仅支持存储0.0-0.9的数值,不符合IMDb评分1-10的范围,改为decimal(2,1)避免后续导入数据报错 rating decimal(2,1), votes int, metascore int );
- 方案2:更换非关键字的字段名
直接将rank替换为非关键字的自定义名称,后续编写SQL语句时不需要额外加反引号,使用更便捷,示例如下:
CREATE TABLE imdb( imdb_rank int auto_increment PRIMARY key, title varchar(255), genre varchar(255), director varchar(255), actors varchar(255), year int, rating decimal(2,1), votes int, metascore int );
内容的提问来源于stack exchange,提问作者Willy
相关产品推荐
相关产品推荐

