【发布时间】:2021-05-10 04:00:25
【问题描述】:
我在 postgres 中有一个 POSTS 表,其架构如下所示
create table posts(postid int ,postname VARCHAR(255) NOT NULL,
createdby VARCHAR(255) NOT NULL, PRIMARY KEY (postname),
CONSTRAINT fk_user FOREIGN KEY(createdby) REFERENCES users(username) on DELETE CASCADE);
也许是一个菜鸟问题,但我不希望 postid 总是由用户设置,我希望它对用户来说是增量的。 例如,我有 2 个用户,每个用户都添加 2 个帖子,
所以我想将它存储在数据库中
postid. postname. createdby
1 hi user1
2 second user1
1 hi user2
2 second user2
postid 是否可以自动递增而无需我以这种方式插入?
即 postid 和 name 可以与不同的用户相似
【问题讨论】:
-
这能回答你的问题吗? PostgreSQL Autoincrement
-
autoincrement 不断增加 postid,我希望它是每个用户的自动增量 @maio290
-
您希望将其发布到数据库中的方式是一种奇怪的方法,对我来说没有多大意义。您已将 postname 定义为主键,但在您的示例中这些值甚至不是唯一的。最常见的方法是自动增加 postid 并将其设置为主键。或者您使用 createdBy 和 postname (?!?) 的组合键及其约束。