我有一个SQL INSERT语句如下所示:SQL Server的INSERT语句自动增量
insert into mytable(ID,Keyindex,KeyValue)
select Id,1,GenreID
from mytable2
原本应该填充我的表像数据:
id GenreID ColumnB
0006342c-47bc-436a-a23a-3b40360d9a30 16 1
0006342c-47bc-436a-a23a-3b40360d9a30 19 1
00109775-f0f8-463e-8134-f842aac8b5df 12 1
001211e3-9bf8-45ad-8297-7a0a94aaf06e 13 1
0025218a-9624-4f5e-86cc-f1cfe862cd2a 16 1
0025218a-9624-4f5e-86cc-f1cfe862cd2a 11 1
0025218a-9624-4f5e-86cc-f1cfe862cd2a 15 1
问题是ID,GenreId和ColumnB是主键,我正在插入一个常量值“1”,导致主键违规。
如何插入表格,使得ColumnB得到一个值incrementaly如果ID是相同的填充。
例如:
id GenreID ColumnB
0006342c-47bc-436a-a23a-3b40360d9a30 16 1
0006342c-47bc-436a-a23a-3b40360d9a30 19 2
00109775-f0f8-463e-8134-f842aac8b5df 12 1
001211e3-9bf8-45ad-8297-7a0a94aaf06e 13 1
0025218a-9624-4f5e-86cc-f1cfe862cd2a 16 1
0025218a-9624-4f5e-86cc-f1cfe862cd2a 16 2
0025218a-9624-4f5e-86cc-f1cfe862cd2a 16 3
工作,这RDBMS使用的是? – 2012-02-24 20:57:15
第一部分中的列名与第二部分中显示的名称不同步。 – 2012-02-24 20:58:57
因此,如果GenreID和ColumnB的组合不会唯一,那么您只需要ColumnB增量?听起来就像你需要一个触发器。 – davidethell 2012-02-24 21:00:25