mysql的update多条语句的问题

liangtu 2013-09-16 11:51:21
单条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) ;

...全文
354 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kobe8free 2013-09-22
  • 打赏
  • 举报
回复
亲,你要 看看 你的mysql版本 是不是 支持 innodb 然后现在的 mysql都是支持 事物的。 一条语句当然就是 默认一条事物 所以 要不成功 要不就是不成功 如果你想用 mysql 达到 你之前说的 那种效果 建议 重新创建数据库 用 MyISAM的
rucypli 2013-09-16
  • 打赏
  • 举报
回复
是的 单条sql就是一个事务 要么做 要么不做
Rotel-刘志东 2013-09-16
  • 打赏
  • 举报
回复
update commit提交后,成功与不成功两种
ACMAIN_CHM 2013-09-16
  • 打赏
  • 举报
回复
一条语句,要么全成功,要么全不成功。
WWWWA 2013-09-16
  • 打赏
  • 举报
回复
select @@autocommit 贴结果
yashifc 2013-09-16
  • 打赏
  • 举报
回复
不能违反原子性

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧