我正在使用SQL Server 2012。
我有两张桌子,tblPerson和tblGender。
tblPerson有4列
tblGender有2列
tblGender只有两个条目,男性和女性,id为1和2。
现在,如果我将不良数据插入GenderId列,如3,4等,它会拒绝该值,但它会增加Identity列值,当我插入另一个数据时,即使它是有效的,它也会给出下一个id号。
我该如何解决这个问题?
答案 0 :(得分:0)
首先,正如已经提到的那样,这是IDENTITY
列的正常行为。 SQL Server首先插入行,增加Identity列值,但由于约束失败而拒绝此行。
建议如下:
1.将ID
列留空。
2.对于非常顺序的' EmployeeID'您可以使用Sequence
编号,该变量是从变量中插入的:https://msdn.microsoft.com/en-us/library/ff878058(v=sql.110).aspx
那么你应该在你的' EmployeeID'。