update test set a=a+1 where...此语句是否稳定,在我系统中这条语句有时会有没有加一或多加一的问题!大家有没有遇到此类问题?

解决方案 »

  1.   

    update test set a=isnull(a,0)+1 where...
      

  2.   

    加个判断A有没有是NULL的值UPDATE TEST SET A=ISNULL(A,0)+1 WHERE .....
      

  3.   

    那就加锁,with lock(xlock,paglock)
      

  4.   

    会不会出现这种情况:
      A用户取了一条记录A,将对a字段(假如为10)进行更新,更新为原字段值(10)+20=30
        与此同时B用户也取出了同一条记录A,将对a字段(也为10)进行更新,更新为(10+100=110)
       结果有可能是30也可能是110这种情况?假如有,如何处理呢?