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

为什么我在MySQL中使用FOREIGN KEY子句创建表时返回报错?

语法错误修正说明

存在的2个核心语法问题:

  • employee表最后一列super_id INT末尾存在冗余逗号,SQL语法要求列定义列表的最后一项末尾不能加额外逗号
  • branch表中mgr_id INT定义后缺少逗号分隔,且外键约束写法不规范,MySQL显式定义表级外键需要指定绑定的字段名

修正后的可执行代码:

CREATE TABLE employee (
    employ_id INT PRIMARY KEY,
    first_name VARCHAR(30),
    last_name VARCHAR(30),
    birthday DATE,
    gender VARCHAR(1),
    salary INT,
    super_id INT
);

CREATE TABLE branch (
    branch_id INT PRIMARY KEY,
    branch_name VARCHAR(40),
    mgr_id INT,
    FOREIGN KEY (mgr_id) REFERENCES employee(employ_id) ON DELETE SET NULL,
    mgr_start_date DATE
);

补充提示:请确保你的MySQL使用InnoDB存储引擎,只有InnoDB支持外键约束功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 06:21:00