在服务器执行 SQL 脚本错误:错误 1215:无法添加外键约束

Posted

技术标签:

【中文标题】在服务器执行 SQL 脚本错误:错误 1215:无法添加外键约束【英文标题】:Executing SQL script in server ERROR: Error 1215: Cannot add foreign key constraint 【发布时间】:2013-12-17 14:26:30 【问题描述】:

我已经检查过类似的其他问题。检查是否有重复项 - 无,如果相同的数据类型 - 是的。关系——是的。未使用“On Delete Set Null”选中。

我仍然不知道这个错误是怎么来的

在服务器中执行 SQL 脚本

错误:错误 1215:无法添加外键约束


-- 表Apo.PurchasingOrder


如果不存在则创建表Apo.PurchasingOrder (

PurchaseNo.INT NOT NULL AUTO_INCREMENT,

ModelNo.INT NULL,

UnitPriceINT NULL,

Product/NameVARCHAR(45) NULL,

QuantityINT NULL,

SourceVARCHAR(45) NULL,

主键 (PurchaseNo.),

索引Source (SourceASC),

约束Supplier_Source

FOREIGN KEY (`PurchaseNo.`)

REFERENCES `Apo`.`Supplier` (`SupplierID`)

ON DELETE NO ACTION

ON UPDATE NO ACTION)

引擎 = InnoDB

SQL 脚本执行完成:语句:9 条成功,1 条失败

以最终形式获取回视图定义。

没有什么可取的

【问题讨论】:

这是微软的 sql 吗?如果是这样,您应该添加该标签 【参考方案1】:

您能否检查您在 Apo.PurchasingOrder 中的所有 PurchaseNo 值是否都是 Apo.Supplier 中 SupplierID 的有效值?

【讨论】:

更新:更改表名时触发错误。尽管更改了列名,但似乎还可以。现在我的问题是更改表名而不会导致错误,因为原始表名有空格“采购订单”(这是不好的做法):(

以上是关于在服务器执行 SQL 脚本错误:错误 1215:无法添加外键约束的主要内容,如果未能解决你的问题,请参考以下文章

SQLYog执行SQL脚本提示:错误代码: 1067 - Invalid default value for '数据库表'查询:解决办法

为啥我的脚本在执行时出现错误 1064

我无法将我的 SQL 表从 Adminer 导入 MySQL Workbench 而不会出现错误:第 9 行的错误 1215 (HY000):无法添加外键约束

[mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException

linux 服务器脚本采集数据中文无法执行错误

执行脚本时出现 sql 错误。在创建存储库之前尝试删除存储库