我正在将mySQL数据库从一台服务器导出到另一台服务器。 我的导出文件包含所有表定义,数据,结构等。所有表都使用InnoDB引擎和utf8字符集。 我在关闭“启用外键检查”的情况下进行导入-我的导出文件中还包含“ SET FOREIGN_KEY_CHECKS = 0;”行。
但是,当我导入数据时,出现错误“#1215-无法添加外键约束”
这是输入文件中的表定义:
CREATE TABLE IF NOT EXISTS UserTable (
Index_i int(13) NOT NULL,
UserUUID_vc varchar(36) DEFAULT NULL,
AccountID_i int(13) DEFAULT NULL,
FirstName_vc varchar(30) DEFAULT NULL,
LastName_vc varchar(40) DEFAULT NULL,
Password_vc varchar(255) DEFAULT NULL,
Country_vc varchar(2) DEFAULT NULL,
DateRegistered_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
DateAccountTypeChanged_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
DateAccountStatusChanged_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
DateAcceptedTandC_dt timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB AUTO_INCREMENT=165 DEFAULT CHARSET=utf8;
在读取任何将约束(例如FK)应用于表的语句之前,它将遇到此问题。 实际上,它在触发错误消息时不知道这些列中的任何一个是否为外键。
有任何想法吗?