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

创建Order表时触发MySQL 1064语法错误的排查求助

问题原因与解决办法
  • 错误核心:Order是MySQL的保留关键字,直接将其用作表名会违反SQL语法规则,这就是触发[42000][1064]错误的原因。

解决方法一:用反引号包裹保留字

通过反引号`将Order括起来,让MySQL将其识别为普通表名而非关键字:

create table `Order` (
    oid int(255),
    sid int(255),
    sku int(255),
    quantity int(255),
    foreign key (sid) references Suppliers(sid),
    foreign key (sku) references Parts(sku),
    primary key(sid,sku)
);

解决方法二:修改表名(推荐)

避免使用数据库保留字作为表名,建议将表名改为Orders(复数形式),更符合常规命名习惯且不会触发语法问题:

create table Orders (
    oid int(255),
    sid int(255),
    sku int(255),
    quantity int(255),
    foreign key (sid) references Suppliers(sid),
    foreign key (sku) references Parts(sku),
    primary key(sid,sku)
);

内容的提问来源于stack exchange,提问作者Dominos-roadster

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:10:49