我正在尝试导入.sql文件及其在创建表时失败。
这是失败的查询:
CREATE TABLE data
( id
int(10) unsigned NOT NULL, name
varchar(100) NOT NULL, value
varchar(15) NOT NULL, UNIQUE KEY id
(id
,name
), CONSTRAINT data_ibfk_1
FOREIGN KEY (id
) REFERENCES keywords
(id
) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我从同一数据库中导出了.sql,删除了所有表,现在我试图导入它,为什么会失败?
MySQL:无法建立表格'./dbname/data.frm'(错误号:150)
如果重新创建已删除的表,则该表必须具有符合引用该表的外键约束的定义。如前所述,它必须具有正确的列名和类型,并且必须在引用的键上具有索引。如果不满足这些条件,MySQL将返回错误1005,并在错误消息中引用错误150,这意味着未正确形成外键约束。同样,如果由于错误150而导致ALTER TABLE失败,这意味着将为更改后的表错误地形成外键定义。来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。