【问题标题】:phpmyadmin error: cant create table error number 150phpmyadmin 错误:无法创建表错误号 150
【发布时间】:2015-10-20 00:38:02
【问题描述】:

我尝试创建下表:

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 状态]

请帮助我克服这个错误。

【问题讨论】:

    标签: php mysql phpmyadmin


    【解决方案1】:

    如果错误消息涉及错误 150,则表创建失败,因为未正确形成外键约束。如果错误消息涉及错误 -1,则表创建可能失败,因为该表包含与内部 InnoDB 表的名称匹配的列名。

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

    你也可以参考这个链接

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

    【讨论】:

      【解决方案2】:

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

      对于外键数据类型应该是相同的,所以保持它在用户表中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-02-11
        • 2016-07-02
        相关资源
        最近更新 更多