处理此类问题有三种方法:
1.增加Identity字段。优点:最简单,也没并发性问题。缺点:只能是数字型字段。而且对数据的转移支持不够。
2.Select Max(ID)+1。优点:简单。也可不限于数字型。缺点:有并发性问题。如几台Client同时操作。
3.在某一设置表中,增加一记录保存当前值。自己管理。简写如下:
BEGIN TRANSACTION
update Settings set Value =Value+1 where Entry ='WorkerID'
Select Value from Settings where Entry ='WorkerID'
COMMIT TRANSACTION
注意:为排除并发性,1。一定要加事务。2。先Update,后Select .使用Update锁住此条记录。