我试图创建下表:
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‘(errno: 150) (详细信息.)
当我点击“细节”时,我得到:
InnoDB文档支持事务处理、行级锁定和外键变量\缓冲区池/ InnoDB状态
请帮助我克服这个错误。
发布于 2015-07-29 07:16:08
用户表中的user_id字段数据类型似乎是int,而这里您正在使用varchar(45)创建关系。
对于外键,数据类型应该是相同的,因此保持与用户表中的相同。
发布于 2015-07-29 07:17:00
如果错误消息引用错误150,则由于外键约束未正确形成,表创建失败。如果错误消息引用了错误InnoDB 1,表创建可能会失败,因为该表包含一个与内部−表名称匹配的列名。
参考文献::http://dev.mysql.com/doc/refman/5.0/en/innodb-error-codes.html
此外,您还可以参考此链接。
https://stackoverflow.com/questions/31693544
复制相似问题