gpt4 book ai didi

mysql 表中多个外键指向同一个主键

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

我有一个表user,其中userID作为主键。我有另一个名为 Friends 的表。在 Friends 表中,我有两个用户作为 friend ,由 UserIDFrndID 列表示,其中 UserIDFrndID 应该是表 user 中的 userID

我想强制数据完整性。我可以使用这样的东西吗?

ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`userId`, `friendId`)
REFERENCES `users` (`userId`, `userId`) ON DELETE CASCADE ON UPDATE CASCADE;

我想知道 REFERENCESusers(userId,userId) 是否正确多次引用某一列?我没有创建 2 个单独的约束的原因是两个用户都必须存在于表 user 中。

最佳答案

不,您应该创建两个外键:

ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`userId`) 
REFERENCES `users` (`userId`)
ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `ufd_users_fk` FOREIGN KEY (`friendId`)
REFERENCES `users` (`userId`)
ON DELETE CASCADE ON UPDATE CASCADE;

关于mysql 表中多个外键指向同一个主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39268759/

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