首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >#1005 -无法创建表“addfriend.updates”(errno: 150)

#1005 -无法创建表“addfriend.updates”(errno: 150)
EN

Stack Overflow用户
提问于 2016-04-08 14:19:48
回答 1查看 20关注 0票数 0

我想要创建这个表,但是它只是被这个错误分开了:

1005 -无法创建表“jotech.updates”(errno: 150)

我的一个朋友说是因为外键约束没有正确形成。但他不知道怎么解决。

请帮帮忙。

代码语言:javascript
复制
    CREATE TABLE `users` (
`user_id` INT(11) NOT NULL AUTO_INCREMENT ,
`username` VARCHAR(45) ,
`password` VARCHAR(100) ,
`email` VARCHAR(45) ,
`friend_count` INT(11) ,
`profile_pic` VARCHAR(150),
PRIMARY KEY (`user_id`));



    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));


CREATE TABLE `friends` (
`friend_one` INT(11) ,
`friend_two` INT(11) ,
`status` ENUM('0','1','2') DEFAULT '0',
PRIMARY KEY (`friend_one`,`friend_two`),
FOREIGN KEY (friend_one) REFERENCES users(user_id),
FOREIGN KEY (friend_two) REFERENCES users(user_id));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-08 14:30:08

外键列的数据类型必须与它引用的列的数据类型完全匹配。

问题在于:

代码语言:javascript
复制
 `user_id_fk` VARCHAR(45)
              ^^^^^^^^^^^

它不能是外键列引用:

代码语言:javascript
复制
 `user_id` INT(11)
           ^^^^^^^

需要定义updates中的外键列:

代码语言:javascript
复制
 `user_id_fk` INT(11)
              ^^^^^^^

以定义外键约束。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36502028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档