gpt4 book ai didi

mysql - 插入表中选择 max(column_name)+1

转载 作者:可可西里 更新时间:2023-11-01 07:10:51 25 4
gpt4 key购买 nike

我有这样构建的 mysql 表:

CREATE TABLE `posts` (
`post_id` INT(10) NOT NULL AUTO_INCREMENT,
`post_user_id` INT(10) NOT NULL DEFAULT '0',
`gen_id` INT(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`post_user_id`, `post_id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM;

当我这样做时:

insert into posts (post_user_id) values (1);
insert into posts (post_user_id) values (1);
insert into posts (post_user_id) values (2);
insert into posts (post_user_id) values (1);
select * from posts;

我得到:

post_id | post_user_id | gen_id
1 1 0
2 1 0
1 2 0
3 1 0

为每个唯一用户生成一个唯一的 post_id。

我需要 gen_id 列为 1 2 3 4 5 6 等。我如何在插入时增加此列。我试过下面的那个,但它不起作用。执行此操作的正确方法是什么?

insert into posts (post_user_id,gen_id) values (1,select max(gen_id)+1 from posts);
//Select the highest gen_id and add 1 to it.

最佳答案

试试这个:

  INSERT INTO posts (post_user_id,gen_id) 
SELECT 1, MAX(gen_id)+1 FROM posts;

关于mysql - 插入表中选择 max(column_name)+1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13282116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com