开发者社区> 问答> 正文

MySQL:无法建立表格(错误编号:150)

我正在尝试导入.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)

展开
收起
保持可爱mmm 2020-05-10 18:55:35 462 0
1 条回答
写回答
取消 提交回答
  • 如果重新创建已删除的表,则该表必须具有符合引用该表的外键约束的定义。如前所述,它必须具有正确的列名和类型,并且必须在引用的键上具有索引。如果不满足这些条件,MySQL将返回错误1005,并在错误消息中引用错误150,这意味着未正确形成外键约束。同样,如果由于错误150而导致ALTER TABLE失败,这意味着将为更改后的表错误地形成外键定义。来源:stack overflow

    2020-05-10 18:55:47
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像