event_id是表的主键,FK_user_ID是映射回用户表的外键,post_id是该用户的帖子号码(这是我的问题列),帖子是帖子
----------------------------------------------------
| event_id | FK_user_ID | post_id | post |
| 1 | 1 | 1 | hey |
| 2 | 1 | 2 | you too |
| 3 | 1 | 3 | ok |
| 4 | 2 | 1 | foo |
| 5 | 2 | 2 | bar |
----------------------------------------------------
答案 0 :(得分:2)
您是否需要单独的表来存储每个用户的帖子?然后,您可以通过用户ID链接它们,并在需要时使用联接来获取信息:
--------------------- | User_ID | Post_ID | | 1 | 1 | | 2 | 2 | | 2 | 3 | | 3 | 4 | | 4 | 5 | ---------------------
等等
答案 1 :(得分:1)
每个表只能有一个自动增量。如果这是一个家庭作业,那么“开箱即用”的方式可能是为每个用户创建单独的表,而不是一个包含多列的表。然后,使用单独的表时,可以为每个表使用自动增量。然后,您只需创建一个视图即可将表连接在一起以便于阅读。
答案 2 :(得分:1)
我担心我认为每张桌子不能有多个AUTO_INCREMENT
列。您可以在here所述的复合索引中的辅助列上使用它,但不能有多个。
我认为您需要创建一个单独的用户表,将用户ID(user.id
)作为post.user_id
的外键引用。
现在,您可以在PRIMARY KEY
的{{1}}上创建post
,并在其列规范中定义(user_id, post_sequence)
{。}}。
答案 3 :(得分:1)
使用MyISAM
,这是可能的:
CREATE TABLE posts (user_id INT NOT NULL, post_id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (user_id, post_id)) ENGINE=MyISAM;
INSERT
INTO posts
VALUES
(1, NULL),
(1, NULL),
(1, NULL),
(2, NULL),
(2, NULL);
结果:
1, 1
1, 2
1, 3
2, 1
2, 2