gpt4 book ai didi

mysql - 原始mysqldump文件导入: Cannot add foreign key constraint?

转载 作者:行者123 更新时间:2023-11-30 22:48:47 28 4
gpt4 key购买 nike

此 sql 来自 mysqldump 文件,它一直给我:错误代码:1215。无法添加外键约束为这个不一致折腾了一个下午,还是不知道到底是什么问题。

DROP TABLE IF EXISTS `regions`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `regions` (
`region_id` bigint(20) unsigned AUTO_INCREMENT,
`region_code` int(6) unsigned NOT NULL,
`name` varchar(255) NOT NULL,
`parent_code` int(6) unsigned DEFAULT NULL,
`type` varchar(255) NOT NULL,
PRIMARY KEY (`region_id`),
UNIQUE KEY `ui_RegionCode` (`region_code`),
CONSTRAINT `regions_ParentCode_RegionCode` FOREIGN KEY (`parent_code`) REFERENCES `regions` (`region_code`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3525 DEFAULT CHARSET=utf8;

最佳答案

看起来像“CONSTRAINT regions_ParentCode_RegionCode FOREIGN KEY (parent_code) REFERENCES regions”表区域的自引用。

尝试在没有这条语句的情况下创建你的表

CREATE TABLE `regions`(
`region_id` BIGINT(20) UNSIGNED AUTO_INCREMENT,
`region_code` INT(6) UNSIGNED NOT NULL,
`name` VARCHAR(255) NOT NULL,
`parent_code` INT(6) UNSIGNED DEFAULT NULL,
`type` VARCHAR(255) NOT NULL,
PRIMARY KEY (`region_id`),
UNIQUE KEY `ui_RegionCode` (`region_code`)
) ENGINE = INNODB AUTO_INCREMENT = 3525 DEFAULT CHARSET = utf8;

并在这之后添加

ALTER TABLE regions
ADD
CONSTRAINT `regions_ParentCode_RegionCode`
FOREIGN KEY (`parent_code`) REFERENCES `regions` (`region_code`)
ON DELETE CASCADE
ON UPDATE CASCADE;

关于mysql - 原始mysqldump文件导入: Cannot add foreign key constraint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28761451/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com