gpt4 book ai didi

mysql - #1005 - 无法创建表 'addfriend.updates'(错误号 : 150)

转载 作者:行者123 更新时间:2023-11-29 11:36:29 25 4
gpt4 key购买 nike

我想创建这个表,但它只是因以下错误而 split :

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

我的一个 friend 说是因为外键约束没有正确形成。但他不知道如何解决。

请帮忙。

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

最佳答案

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

问题出在这里:

 `user_id_fk` VARCHAR(45)
^^^^^^^^^^^

这不能是对以下内容的外键列引用:

 `user_id` INT(11)
^^^^^^^

需要定义updates中的外键列:

 `user_id_fk` INT(11)
^^^^^^^

为了定义外键约束。

关于mysql - #1005 - 无法创建表 'addfriend.updates'(错误号 : 150),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36502028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com