【问题标题】:Error by foreign key use in MySQL Workbench,error code 1064MySQL Workbench 中使用外键出错,错误代码 1064
【发布时间】:2021-03-05 07:38:35
【问题描述】:

1.您好,我的 SQL 代码有问题。我变成了错误代码:1064。您的 SQL 语法有错误。

2.Error:13:05:36 ADD CONSTRAINT FK_ID_Mannschaft FOREIGN KEY (ID_Mannschaft) REFERENCES Mannschaft(ID_Mannschaft) ON UPDATE CASCADE ON DELETE CASCADE 错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在“添加约束 FK_ID_Mannschaft FOREIGN KEY (ID_Mannschaft) REFERENCES `Man' at line 1 0.032 sec 附近使用正确的语法

    ALTER TABLE `Trainier`
    ADD `ID_Mannschaft` INT NOT NULL,
    ADD CONSTRAINT FK_ID_Mannschaft 
    FOREIGN KEY (`ID_Mannschaft`) REFERENCES `Mannschaft`(`ID_Mannschaft`)
    ON UPDATE CASCADE ON DELETE CASCADE;

【问题讨论】:

  • 没有语法是好的,你有确切的错误信息吗?
  • 您能否分享您收到的确切错误消息?副手语法看起来不错
  • Mannschaft的post结构,外键需要父表中必须有主键/唯一键,且两个字段的数据类型必须相同
  • 我认为你有更多的代码,错误是在你发布的代码之前

标签: mysql sql mysql-workbench


【解决方案1】:

假设下面给出的结构,没有发现错误,请检查数据类型和约束。

Create Table Mannschaft (ID_Mannschaft Int, Constraint Primary Key (ID_Mannschaft));
Create Table Trainier (ID VarChar(40));


ALTER TABLE `Trainier`
    ADD `ID_Mannschaft` INT NOT NULL,
    ADD CONSTRAINT FK_ID_Mannschaft 
    FOREIGN KEY (`ID_Mannschaft`) REFERENCES `Mannschaft`(`ID_Mannschaft`)
    ON UPDATE CASCADE ON DELETE CASCADE;

【讨论】:

    猜你喜欢
    • 2019-01-25
    • 2018-04-14
    • 2019-05-17
    • 2011-04-17
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多