我正在为我的网站交友系统。我正在考虑只创建2行,在每一行上添加一个索引,并使它们成为users
表id
列的外键。如果任何一个用户被删除,我希望他们被删除。然后,每个用户都会有一个记录。
user_id
friend_id
如果你有其他建议或专栏建议,我也想听听(:(我不需要知道友谊是什么时候开始的)
谢谢!
发布于 2013-05-07 15:50:41
当然你需要一个主键。在这种情况下,最好在两列上使用复合主键。如果没有它,您的查询将比它们应该的速度慢得多,并且您将无法强制执行这对朋友对的唯一性。
你应该考虑的另一件事是朋友关系是单向关系还是双向关系。换句话说,你需要在任何一个方向(从任何一个用户开始)查找朋友关系吗?如果是这样的话,您可能需要为每个朋友关系在该表中插入两行。
关于级联删除,您需要确保在两个列上设置这样一个级联,以便在user表中删除一个用户,它将删除关系表中的所有行,其中该用户是用户或朋友。
https://stackoverflow.com/questions/16423199
复制相似问题