Mysql 错误:错误1215(HY000):无法添加外键约束
我正在帮助一位朋友将他的WordPress迁移到AWS。整个WordPress是由他使用WPClone导出的,我将把它导入RDS(Aurora)。我不是一个亲DB的人,我只知道基本的MySQL命令。我试图还原数据库,但在还原过程中遇到Mysql 错误:错误1215(HY000):无法添加外键约束,mysql,wordpress,amazon-web-services,rds,aurora,Mysql,Wordpress,Amazon Web Services,Rds,Aurora,我正在帮助一位朋友将他的WordPress迁移到AWS。整个WordPress是由他使用WPClone导出的,我将把它导入RDS(Aurora)。我不是一个亲DB的人,我只知道基本的MySQL命令。我试图还原数据库,但在还原过程中遇到错误:错误1215(HY000):无法添加外键约束 我执行了show engine innodb status并检查了最新外键错误,这就是我得到的结果,但我不知道如何解决这个问题 ------------------------ LATEST FOREIGN KEY
错误:错误1215(HY000):无法添加外键约束
我执行了show engine innodb status
并检查了最新外键错误
,这就是我得到的结果,但我不知道如何解决这个问题
------------------------
LATEST FOREIGN KEY ERROR
------------------------
2017-03-10 11:22:06 2b87437cb700 Error in foreign key constraint of table clientdb/wp_supsystic_ss_project_networks:
FOREIGN KEY (`project_id`) REFERENCES `wp_supsystic_ss_projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8:
Cannot resolve table name close to:
(`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8
非常感谢您的帮助
编辑:这是为wp\u supsystic\u ss\u网络
、wp\u supsystic\u ss\u项目
和wp\u supsystic\u ss\u项目创建的表格
:
CREATE TABLE `wp_supsystic_ss_networks` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`class` varchar(255) NOT NULL,
`brand_primary` varchar(7) NOT NULL DEFAULT '#000000',
`brand_secondary` varchar(7) NOT NULL DEFAULT '#ffffff',
`total_shares` int(11) unsigned DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8;
CREATE TABLE `wp_supsystic_ss_project_networks` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`project_id` int(11) unsigned DEFAULT NULL,
`network_id` int(11) unsigned DEFAULT NULL,
`position` int(11) unsigned DEFAULT '0',
`title` varchar(255) DEFAULT NULL,
`text` varchar(255) DEFAULT NULL,
`tooltip` varchar(255) DEFAULT NULL,
`text_format` varchar(255) DEFAULT NULL,
`use_short_url` bit(1) DEFAULT NULL,
`icon_image` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK__wp_supsystic_ss_projects` (`project_id`),
KEY `FK__wp_supsystic_ss_networks` (`network_id`),
CONSTRAINT `FK__wp_supsystic_ss_networks` FOREIGN KEY (`network_id`) REFERENCES `wp_supsystic_ss_networks` (`id`),
CONSTRAINT `FK__wp_supsystic_ss_projects` FOREIGN KEY (`project_id`) REFERENCES `wp_supsystic_ss_projects` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
CREATE TABLE `wp_supsystic_ss_projects` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`settings` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
两个问题:
按以下顺序创建表:子表,父表(带外键)。替换CREATE TABLE语句:
wp\u supsystic\u ss\u项目
wp\u supsystic\u ss\u网络
wp\u supsystic\u ss\u项目网络
脚本中不存在子表wp\u supsystic\u ss\u networks
你能在上下文中为这两个表发布
创建表脚本吗!我已经更新了我的问题。非常感谢。如果project\u networks
是一个多:多映射表,请参阅建议-在其他提示中,去掉Ifid
并使用主键(project\u id,network\u id)
和索引(network\u id,project\u id)
。