You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL执行CREATE TABLE建表报ERROR 1064语法错误如何解决?

错误原因
  • 核心问题是使用了MySQL的保留关键字作为自定义标识符(表名、字段名),MySQL解析SQL时无法将其识别为普通自定义名称,触发1064语法错误:
    • 表名data是MySQL官方保留关键字
    • 字段名position同样属于MySQL保留关键字
  • 执行建表语句时,MySQL读取到CREATE TABLE data后会将data识别为关键字而非自定义表名,后续字段定义逻辑无法被正常解析,最终返回你看到的报错信息。
修复方案

共有两种可行修复方式:

方案1:修改命名避开保留关键字(更推荐,兼容性更强)

将涉及保留关键字的表名、字段名修改为语义匹配的非保留字名称,例如将表名改为dish_data,position字段改为display_order,修改后语句如下:

CREATE TABLE dish_data (
  id INT NOT NULL AUTO_INCREMENT,
  dish VARCHAR(255),
  display_order INT(3),
  price INT(4),
  PRIMARY KEY (id)
);

方案2:用反引号包裹保留关键字标识符

如果业务上必须使用data作为表名、position作为字段名,只需给所有保留关键字加上反引号`进行包裹,强制MySQL将其识别为自定义标识符即可,修改后语句如下:

CREATE TABLE `data` (
  id INT NOT NULL AUTO_INCREMENT,
  dish VARCHAR(255),
  `position` INT(3),
  price INT(4),
  PRIMARY KEY (id)
);

内容的提问来源于stack exchange,提问作者DashingDojo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 03:36:09