单个更新查询所需的事务?

时间:2013-07-25 11:11:07

标签: mysql transactions innodb

我在InnoDB表上有一个mysql查询,如下所示:

UPDATE items SET qty = qty + 5 WHERE item_id = 1234 LIMIT 1;

我需要为此使用交易吗?不使用交易会发生什么不良事件吗?

1 个答案:

答案 0 :(得分:10)

没有什么可以发生的。默认情况下,MySQL在事务中包装所有单个update / insert / delete命令。如果更新中出现问题,则应正确回滚事务。

当您组合多个更改并希望它们全部“同时”或“根本不生效”时,您实际上只需要交易。

您可以在documentation

中详细了解相关信息