![](/img/trans.png)
[英]MySQL error 1005 errno 150 Foreign key constraint is incorrectly formed
[英]MySQL foreign key to the same table failed with error 1005, errno 150
mysql> ALTER TABLE category ADD CONSTRAINT category_parent_category_id FOREIGN KEY (parent) REFERENCES category(id);
ERROR 1005 (HY000): Can't create table 'sfnews.#sql-244_1' (errno: 150)
DDL如下:
Create Table: CREATE TABLE `category` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`parent` bigint(20) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `parent_idx` (`parent`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
为什么这是错的?
如果您检查InnoDB引擎的状态( SHOW ENGINE InnoDB STATUS
),您将获得更全面的解释:
最新的外国关键错误
[...]
在引用的表中找不到索引,其中引用的列显示为第一列,或者表中的列类型与引用的表不匹配约束。
使id
无符号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.