如何在sql/sqlite中设计好友列表



我对sql相对陌生,我试图在两个用户之间创建关系。必须发送并接受好友请求才能成为彼此的好友。现在我有了第三张表,叫做items。用户现在应该能够查看其朋友拥有的所有项目。我有点写不下去了。。。

项目表:

CREATE TABLE IF NOT EXISTS item(
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
owner VARCHAR(50) NOT NULL,
borrowedBy VARCHAR(50),
imageUrl TEXT
);

友情表:

CREATE TABLE IF NOT EXISTS friendship(
friendship_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
);

user_friendship

CREATE TABLE IF NOT EXISTS user_friendship(
username VARCHAR(50) NOT NULL,
friendship_id INTEGER NOT NULL,
status INTEGER NOT NULL,
PRIMARY KEY (username, friendship_id)
);

您需要查看有关如何构建SQL数据库的教程,主要是关于表关系的教程。

例如,在这里,您不需要单独的友谊和user_friendship表。

你可以有一张友谊桌:

CREATE TABLE IF NOT EXISTS friendship(
friendship_id INTEGER NOT NULL,
username1 VARCHAR(50) NOT NULL,
username2 VARCHAR(50) NOT NULL,
status INTEGER NOT NULL,
PRIMARY KEY (friendship_id, username1 , username2  )
);

请注意,外键应该使用整数值,而不是varchar(50(。

最新更新