主键(两列)标识增量

时间:2011-11-20 22:40:50

标签: sql-server database-design ddl seed

我的主键(id,type)中有两列,id是identity,type是外键。 我想为id列设置种子,如下所示:

 id    type
10000   1
10001   1
10000   2
10001   2
10002   1
10002   2
10000   3

我可以从代码(或dml)执行此操作,但是在ddl或SqlServer表属性中是否可以这样做?

2 个答案:

答案 0 :(得分:2)

每行的id列增加1。没有办法重复它。您不能只将标识符列作为表的pk的任何原因?您可能不得不求助于使用触发器来执行此操作。

答案 1 :(得分:0)

Microsoft SQL Server不允许您通过TSQL轻松地在现有列上添加或更改标识。要更改原始种子值并重新设置任何现有行,必须删除标识列并重新指定新的种子值。当表包含数据时,标识号将添加到具有指定种子和增量值的现有行中。