我的工作中出现错误 1064,将数据库连接到 Eclipse 并运行 REST Api

问题描述 投票:0回答:1

我刚刚开始编码,我的代码执行遇到了重大障碍,我想我找到了原因,我在 mySQL 中制作表格时出错了

ERROR 1064:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,了解在 ') 附近使用的正确语法

CREATE TABLE `rest_db`.`ordini` (
  `id_ordini` INT NOT NULL,
  `id_cliente` INT NULL,
  `id_prodotto` INT NULL,
  PRIMARY KEY (`id_ordini`),
  CONSTRAINT `id_cliente`
    FOREIGN KEY ()
    REFERENCES `rest_db`.`cliente` ()
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `id_prodotto`
    FOREIGN KEY ()
    REFERENCES `rest_db`.`prodotto` ()
    ON DELETE RESTRICT
    ON UPDATE CASCADE
);

我不明白我做错了什么。我正在尝试创建一个包含 2 个外键的表

预先感谢您帮助新手。

mysql mysql-workbench
1个回答
0
投票

您需要将引用和被引用的列名称放在外键约束中的

()
内。

CREATE TABLE `rest_db`.`ordini` (
  `id_ordini` INT NOT NULL,
  `id_cliente` INT NULL,
  `id_prodotto` INT NULL,
  PRIMARY KEY (`id_ordini`),
  CONSTRAINT `fk_id_cliente`
    FOREIGN KEY (id_cliente)
    REFERENCES `rest_db`.`cliente` (id_cliente)
    ON DELETE RESTRICT
    ON UPDATE CASCADE,
  CONSTRAINT `fk_id_prodotto`
    FOREIGN KEY (id_prodotto)
    REFERENCES `rest_db`.`prodotto` (id_prodotto)
    ON DELETE RESTRICT
    ON UPDATE CASCADE
);
© www.soinside.com 2019 - 2024. All rights reserved.