update table
set a=b,b=c 
是否一直先执行 a=b再 执行b=c  有说明吗

解决方案 »

  1.   


    多做几次测试一下,好像不一定然后再测试一下:
    假如有个表t1 字段a b ,初始值a=20 b=30
    然后update t1 set a=b,b=40
    这也多测几次,观察b的值
      

  2.   

    测试是没有问题的,我就是想问下是否 oracle/mysql 有这方面的保证或说明
      

  3.   

    你还可以试试
    update table
    set a=b, b=a;
    交换两列
      

  4.   

    update没有执行commit之前,右边的都是查询时状态的数据,也就是说:set a = b(旧),b = c(旧)你把它改成 set b = c, a = b
    结果应该还是一样的,不妨试试。