我想建立一个网站,用户可以发布一些东西,他们的朋友可以看到帖子。我该如何安排桌子?我有一个想法,但这是一个好方法吗?:
USERS TABLE
-------------
user id| user name| birth day|...
USERS_POST TABLE
-------------
user id|post 1|date|post 2|date|post 3|date......post 9999999|date
USERS_POST TABLE中有很多列。有不同的方式吗?
答案 0 :(得分:3)
您不需要为用户的每个帖子创建一个列。 您将拥有一个帖子表和一个用户表。
邮政表将包含例如 ID,用户ID,日期和帖子
对于每个帖子,您将在帖子表中创建一个新条目。
您现在可以将用户表与post表一起加入以获取所有条目。
编辑: 你可以当然,不包括post表中的userid,还要创建一个表来显示post和usertable之间的关系:
答案 1 :(得分:0)
将不同的帖子作为列,您必须始终修改表格结构。
我想创建3个表:
USERS TABLE
-------------
user id| user name| birth day|...
USERS_POSTS TABLE
-------------
user id| post id
POSTS TABLE
-------------
post id| date| post title| post text| ...
然后,要获取用户拥有的帖子: SELECT postid FROM USERS_POSTS WHERE userid =?
获取文字/标题/等。任何帖子: SELECT * FROM POSTS WHERE postid =?
您还可以在USERS_POSTS表中使用帖子标题和文字,但从长远来看,它不会具有灵活性和可扩展性。