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

MySQL ERROR 1064报错:创建含外键的ordini表失败求助

MySQL ERROR 1064 语法错误修复:外键定义缺失列名

你的SQL语句触发ERROR 1064的核心原因是外键约束的列定义为空,MySQL要求必须明确指定当前表的外键列,以及引用表对应的主键列。

错误点拆解

  • FOREIGN KEY () 括号内未填写当前表的外键列(id_cliente/id_prodotto)
  • REFERENCES rest_db.cliente () 括号内未填写引用表的主键列(通常cliente表的主键是id_cliente,prodotto表主键是id_prodotto)

修正后的SQL语句

CREATE TABLE `rest_db`.`ordini` (
  `id_ordini` INT NOT NULL,
  `id_cliente` INT NULL,
  `id_prodotto` INT NULL,
  PRIMARY KEY (`id_ordini`),
  -- 客户外键约束:绑定当前表id_cliente到cliente表的主键id_cliente
  CONSTRAINT `fk_ordini_cliente`
    FOREIGN KEY (`id_cliente`)
    REFERENCES `rest_db`.`cliente` (`id_cliente`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  -- 产品外键约束:绑定当前表id_prodotto到prodotto表的主键id_prodotto
  CONSTRAINT `fk_ordini_prodotto`
    FOREIGN KEY (`id_prodotto`)
    REFERENCES `rest_db`.`prodotto` (`id_prodotto`)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
);

额外提示

  1. 如果cliente或prodotto表的主键列名不是id_cliente/id_prodotto,请替换为对应表实际的主键列名。
  2. 约束名建议使用fk_表名_关联表名格式,避免和列名重复,便于后续维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:22:34