12

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

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

我需要为此使用交易吗?不使用事务会不会发生任何不希望的事情?

4

1 回答 1

17

不会发生什么严重的事情。默认情况下,MySQL 将所有单个更新/插入/删除命令包装在一个事务中。如果更新中出现问题,则应正确回滚事务。

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

您可以在文档中阅读有关此内容的更多信息。

于 2013-07-25T11:20:44.710 回答