单条update语句,没有加where,修改多条记录,有的能修改成功,有的会和唯一性约束冲突,在mysql中执行的结果是一条记录也没有修改成功,这是为什么?是update自动加的事务???
--增加唯一性约束
alter table t_device_info add constraint uk_device_info_device_code unique (device_code); --截取为前5位,由于有的device_code前5位相同,因此会报错
update t_device_info set device_code=substring(device_code,1,5) ;

解决方案 »

  1.   

    是的  单条sql就是一个事务 要么做 要么不做
      

  2.   

    select @@autocommit
    贴结果
      

  3.   

    update
    commit提交后,成功与不成功两种
      

  4.   

    亲,你要 看看 你的mysql版本  是不是 支持 innodb 
    然后现在的 mysql都是支持  事物的。
    一条语句当然就是 默认一条事物
    所以 要不成功 要不就是不成功
    如果你想用 mysql  达到 你之前说的 那种效果 
    建议  重新创建数据库  用  MyISAM的