【发布时间】:2016-02-11 15:10:18
【问题描述】:
我正在尝试导入 .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 中导致 errno 150(和 errno 121/其他外键错误)的原因。
-
我发现列必须相同(即使无符号标志也必须匹配)。
-
@JohnSmith ...在哪里?
-
我建议阅读这篇列出 10 个可能原因的博文:verysimple.com/2006/10/22/…
-
@CharlesWood:“John Smith... 已于 2013 年 4 月 6 日 19:29 看到”,即您发表评论前大约三个月。我有一种恐惧,在这个沉闷的世界结束之前,“哪里”的谜团不会被揭开! :>
标签: mysql sql phpmyadmin mysql-error-150