我想知道我还应该向朋友表添加什么?如何阻止用户添加同一个朋友两次以及用户在线时?以及关于如何让我的朋友表变得更好的任何建议?
这是我的MySQL表。
CREATE TABLE friends (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id INT UNSIGNED NOT NULL,
friend_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
);
答案 0 :(得分:3)
您在数据透视表上不需要id
,并且可以像PRIMARY KEY(user_id, friend_id)
这样定义您的主键,这样可以避免重复。
答案 1 :(得分:0)
IMO不需要id属性 您可以添加时间戳,这有时很有用 为user_id和friend_id创建密钥,它们将是唯一的,这会阻止您创建此元组两次。
答案 2 :(得分:0)
如果关于表设计的交易你可以将user_id和friend_id的组合作为唯一键,或者可能将所有这三(3)个字段作为主键,不是那么好的练习但是的工作原理。
另一件事是你可以通过使用PHP或你所选择的连接语言来控制它。
如果有帮助,请告诉我。