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

使用指定SQL语句时,FOREIGN KEY与REFERENCES为何报错?

外键关联报错原因及修正方案

核心语法错误

你的SQL语句存在两处致命语法结构问题:

  • 表定义的闭合括号位置错误:在PRIMARY KEY(id_menu)后面的)直接闭合了CREATE TABLE的主体,导致外键约束定义被排除在表结构之外,数据库无法识别这部分语法。
  • 语句末尾多了一个多余的),造成括号不匹配,触发语法解析错误。

额外潜在报错点

除了语法问题,还需确认以下两点,否则即使修正语法仍会报错:

  • 关联的kategori表必须已经存在,且id_kategori字段是该表的主键或唯一约束字段(外键必须关联到父表的唯一标识字段)。
  • menu表的id_kategori字段与kategori表的id_kategori字段类型、长度必须完全一致(你的语句中都是VARCHAR(50),这部分没问题,但如果父表字段类型不同会报错)。

修正后的SQL语句

CREATE TABLE menu(
    id_menu VARCHAR(50) NOT NULL,
    nama_menu VARCHAR(100),
    id_kategori VARCHAR(50),
    keterangan TEXT,
    harga DOUBLE(5,2),
    gambar VARCHAR(50),
    PRIMARY KEY(id_menu),
    FOREIGN KEY (id_kategori)
        REFERENCES kategori (id_kategori)
        ON UPDATE CASCADE 
        ON DELETE CASCADE
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:22:02