表ID是自增的,所以在添加时要查一下,之前是用@@IDENTITY来查,最近在加触发器时发现返回的会是在触发器中插入语句的数据ID值,上网找了下资料,发现是因为@@IDENTITY 将返回在当前会话中的任何作用域内插入的最后一个标识列的值。
也就是说,我在触发器中的插入语句也在它取值的范围内了,把它改成SCOPE_IDENTITY()就好了,因为它返回的是在同一个作用域内发生的最后的插入。
同时,有资料说@@IDENTITY在万条并发时就有出现过错误的现象。
有个注意点:
在插入某些自增表的时候,需要将其打开:
语法:SET IDENTITY_INSERT TableName ON