34,838
社区成员




insert into 表1(ID,字段1,字段2,字段3)
select max(ID) +1 as ID,字段1,字段2,字段3 from 表1
where ID=3 group By 字段1,字段2,字段3
但是这样永远都是提示错误,不能插入重复值,ID过滤最大值应该是4在加1,就是要ID自动往下循环
insert into 表1(ID,字段1,字段2,字段3)
select top 1 max(ID) +1 as ID,字段1,字段2,字段3 from 表1
where ID=3 group By 字段1,字段2,字段3 order by ID desc
--直接设计id为自增列不就可以了吗?
id int identity(1,1)
create table #tb
(ID int, 字段1 nvarchar(10), 字段2 nvarchar(10), 字段3 nvarchar(10))
insert #tb
select 1, '字段1', '字段2', '字段3' union all
select 2, '字段21', '字段22', '字段23' union all
select 3, '字段31', '字段32', '字段33' union all
select 4, '字段41', '字段42', '字段43'
insert #tb
select (select max(id) from #tb)+1 as id,字段1, 字段2, 字段3 from #tb where id =3
declare @num int
select @num=max(id) from tb
insert into 表1(ID,字段1,字段2,字段3)
select @num +1,字段1,字段2,字段3 from 表1 where ID=3
insert into 表1(ID,字段1,字段2,字段3)
select (select max(ID) + 1 from 表1),字段1,字段2,字段3 from 表1
where ID=3 group By 字段1,字段2,字段3