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,'李四')
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
试试吧