SQL 问题,这个SQL插入语句应该怎么写?

来源:百度知道 编辑:UC知道 时间:2024/05/11 19:22:54
ID Name
1 33
2 44
3 55
4 张三
需求是这样,在插入的时候,ID并不是用户指定,而是获取当前的ID的最大值,并加1再插入(不用自增列,因为不希望插入出现断层),比如我现在插入一条“李四”,李四的ID为5,但是不是我写的硬代码 insert into TableA values(5,'李四')

insert into table select max(id)+1,'李四' from table;

测试:
sql@kokooa>insert into b select max(uuid)+1,'lisi' from b;

1 row created.

楼上的几个其实还是用户指定ID了。

楼主问的你就有问题,又说ID不是用户指定,又说不要自增列,太矛盾了。

insert into TableA
select max(ID)+1,'李四' from TableA

singering0的答案,应去掉"values"的

insert into 表名 select max(id)+1,'李四' from 表名;

insert into TableA values
select max(id)+1 as ID , '李四' AS 'XX' from TableA

试试吧