phpmyadmin error: cant create table error number 150

phpmyadmin error: cant create table error number 150

我尝试创建以下 table:

CREATE TABLE `updates` (
`update_id` INT(11) AUTO_INCREMENT ,
`update` VARCHAR(45),
`user_id_fk` VARCHAR(45),
`created` INT(11) ,
`ip` VARCHAR(45),
PRIMARY KEY (`update_id`),
FOREIGN KEY (user_id_fk) REFERENCES users(user_id));

Phpmyadmin 显示错误

#1005 - Can't create table 'friends.updates' (errno: 150) (Details...)

当我点击 'Details' 时,我得到:

InnoDB Documentation Supports transactions, row-level locking, and foreign keys [ Variables | Buffer Pool | InnoDB Status ]

请帮我克服这个错误。

似乎 user_id 用户 table 中的字段数据类型是 int 而您在这里创建与 varchar(45) 的关系。

外键的数据类型应该相同,因此请保持用户中的数据类型 table。

如果错误消息指的是错误 150,table创建失败,因为没有正确形成外键约束。如果错误消息引用错误 −1,则 table 创建可能失败,因为 table 包含与内部 InnoDB table.

的名称匹配的列名称

参考::http://dev.mysql.com/doc/refman/5.0/en/innodb-error-codes.html

你也可以参考这个link

Error Code: 1005. Can't create table '...' (errno: 150)