phpmyadmin错误:无法创建表错误号150

phpmyadmin错误:无法创建表错误号150,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我尝试创建下表: 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显示

我尝试创建下表:

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-无法创建表“friends.updates”(错误号:150)(详细信息…)

当我点击“详细信息”时,我得到:

InnoDB文档 支持事务、行级锁定和外键 [变量|缓冲池| InnoDB状态]


请帮助我克服此错误。

在这里创建与varchar(45)的关系时,用户表中的用户id字段数据类型似乎是int


对于外键,数据类型应相同,因此保持其在用户表中的状态。

如果错误消息指向错误150,则表创建失败,因为外键约束的格式不正确。如果错误消息指的是错误−1,表创建可能失败,因为该表包含与内部InnoDB表名称匹配的列名

参考号::

你也可以参考这个链接