我在 InnoDB 表上有一个 mysql 查询,如下所示:
UPDATE items SET qty = qty + 5 WHERE item_id = 1234 LIMIT 1;
我需要为此使用交易吗?不使用事务会不会发生任何不希望的事情?
我在 InnoDB 表上有一个 mysql 查询,如下所示:
UPDATE items SET qty = qty + 5 WHERE item_id = 1234 LIMIT 1;
我需要为此使用交易吗?不使用事务会不会发生任何不希望的事情?
不会发生什么严重的事情。默认情况下,MySQL 将所有单个更新/插入/删除命令包装在一个事务中。如果更新中出现问题,则应正确回滚事务。
当您合并多个更改并希望它们“同时”或“根本不”生效时,您实际上只需要事务。
您可以在文档中阅读有关此内容的更多信息。