我们有以下脚本:
CREATE TABLE `dataBodyChanges` (
`id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
`numberOfContainers` int( 11 ) NOT NULL ,
`quantityPerContainer` int( 11 ) NOT NULL ,
`grossWeight` double NOT NULL ,
`comment` varchar( 1000 ) NOT NULL ,
`file` int( 10 ) unsigned DEFAULT NULL ,
`user` int( 10 ) unsigned NOT NULL ,
`dataBodyId` int( 10 ) unsigned NOT NULL ,
`created_at` timestamp NULL DEFAULT NULL ,
`updated_at` timestamp NULL DEFAULT NULL ,
PRIMARY KEY ( `id` ) ,
KEY `databodychanges_databodyid_foreign` ( `dataBodyId` ) ,
CONSTRAINT `databodychanges_databodyid_foreign` FOREIGN KEY ( `dataBodyId` ) REFERENCES `dataBodies` ( `id` )
) ENGINE = InnoDB AUTO_INCREMENT =1113 DEFAULT CHARSET = utf8;具有mysql输出:
1215 -无法添加外键约束
另一张表是:
使用材料;
CREATE TABLE `dataBodies` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`partNumber` varchar(8) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`totalOrderQuantity` varchar(9) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`containerPart` varchar(8) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`numberOfContainers` varchar(9) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`quantityPerContainer` varchar(9) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`kanbanNumber` varchar(4) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`matHandlingCode` varchar(12) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`grossWeight` varchar(9) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`partRemarks` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`AI11Z` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`AI12Z` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`AI13Z` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`AI14Z` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`AI15Z` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`AI16Z` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`AI17Z` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`filler` varchar(163) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`dataHeaderId` int(10) unsigned DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `databodies_dataheaderid_foreign` (`dataHeaderId`),
CONSTRAINT `databodies_dataheaderid_foreign` FOREIGN KEY (`dataHeaderId`) REFERENCES `dataHeaders` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1113 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;我们不知道为什么..。
有谁能帮忙谁是这方面的主人吗?提前谢谢你!
发布于 2017-09-26 10:05:41
在创建表时,它将检查是否已经创建了依赖表,如果没有,则会抛出该错误。
你首先需要设置的,
set foreign_key_checks = false; // above all上线将暂时禁用外键检查(如果有的话)。
然后运行上面的查询。看起来不错。然后在执行查询之后,通过,
set foreign_key_checks = true;https://stackoverflow.com/questions/46423358
复制相似问题