我无法将我的 SQL 表从 Adminer 导入 MySQL Workbench 而不会出现错误:第 9 行的错误 1215 (HY000):无法添加外键约束
Posted
技术标签:
【中文标题】我无法将我的 SQL 表从 Adminer 导入 MySQL Workbench 而不会出现错误:第 9 行的错误 1215 (HY000):无法添加外键约束【英文标题】:I can't import my SQL tables from Adminer to MySQL Workbench without getting error: ERROR 1215 (HY000) at line 9: Cannot add foreign key constraint 【发布时间】:2022-01-16 16:26:21 【问题描述】:我正在尝试将我的 NodeJS 应用程序部署到 Heroku,并使用以下参数导出我的 MariaDB SQL 表:
Format: SQL
Tables: DROP+CREATE |Triggers
但是,当我导入它们时,我得到了一个模糊的错误:第 9 行的错误 1215 (HY000):无法添加外键约束。这是我的 SQL 导出的一部分:
-- Adminer 4.6.3 mysql dump
SET NAMES utf8;
SET time_zone = '+00:00';
SET NAMES utf8mb4;
DROP TABLE IF EXISTS `Govt_answers`;
CREATE TABLE `Govt_answers` (
`Answer_id` int(3) unsigned NOT NULL AUTO_INCREMENT,
`Question_id` int(2) unsigned NOT NULL,
`Correct` bit(1) NOT NULL,
`Answer_prompt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
PRIMARY KEY (`Answer_id`),
KEY `Question_id` (`Question_id`),
CONSTRAINT `Govt_answers_ibfk_1` FOREIGN KEY (`Question_id`) REFERENCES `Govt_questions` (`Question_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DROP TABLE IF EXISTS `Govt_choice_response`;
CREATE TABLE `Govt_choice_response` (
`Quiz_id` int(2) unsigned NOT NULL,
`Question_id` int(2) unsigned NOT NULL,
`Answer_id` int(3) unsigned NOT NULL,
`Correct` bit(1) DEFAULT NULL,
`Time_start` datetime DEFAULT NULL,
`Time_stop` datetime DEFAULT NULL,
`Student_id` int(4) unsigned NOT NULL,
KEY `Quiz_id` (`Quiz_id`),
KEY `Question_id` (`Question_id`),
KEY `Answer_id` (`Answer_id`),
KEY `Student_id` (`Student_id`),
CONSTRAINT `Govt_choice_response_ibfk_1` FOREIGN KEY (`Answer_id`) REFERENCES `Govt_answers` (`Answer_id`),
CONSTRAINT `Govt_choice_response_ibfk_2` FOREIGN KEY (`Question_id`) REFERENCES `Govt_questions` (`Question_id`),
CONSTRAINT `Govt_choice_response_ibfk_4` FOREIGN KEY (`Quiz_id`) REFERENCES `Govt_quizes` (`Quiz_id`),
CONSTRAINT `Govt_choice_response_ibfk_5` FOREIGN KEY (`Question_id`) REFERENCES `Govt_questions` (`Question_id`),
CONSTRAINT `Govt_choice_response_ibfk_6` FOREIGN KEY (`Answer_id`) REFERENCES `Govt_answers` (`Answer_id`),
CONSTRAINT `Govt_choice_response_ibfk_7` FOREIGN KEY (`Student_id`) REFERENCES `Govt_profiles` (`Student_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
....etc
我在我的 Raspberry Pi 上运行的外部服务器上尝试了 SHOW ENGINE INNODB STATUS,但它没有提供有关外键问题的任何见解。 任何想法是什么问题?
【问题讨论】:
【参考方案1】:我通过禁用外键检查然后再启用来解决这个问题。 这个post has more information。
【讨论】:
以上是关于我无法将我的 SQL 表从 Adminer 导入 MySQL Workbench 而不会出现错误:第 9 行的错误 1215 (HY000):无法添加外键约束的主要内容,如果未能解决你的问题,请参考以下文章
Sqoop - 错误工具.ImportTool:导入失败:尝试从 SQL Server 导入时无法转换 SQL 类型 2005