MySQL事务是一组SQL操作的执行单元,确保数据一致性和完整性;2. 使用START TRANSACTION或BEGIN开启事务;3. 事务中执行的SQL语句暂不生效;4. 通过COMMIT提交更改,ROLLBACK回滚操作;5. 默认autocommit=1,需设为0才能手动控制事务;6. 仅InnoDB等支持事务的存储引擎可用此功能。
在 MySQL 中,事务是一组 SQL 语句的执行单元,这些操作要么全部成功,要么全部失败。事务确保了数据的一致性和完整性,尤其在处理银行转账、订单处理等关键业务场景中非常重要。下面介绍 MySQL 事务的基本使用方法。
在执行需要保证原子性的操作前,必须先开启一个事务。可以通过以下命令显式开启:
START TRANSACTION;也可以使用 BEGIN; 或 BEGIN WORK;,效果相同。
在事务开启后,执行的 INSERT、UPDATE、DELETE 等操作不会立即生效,而是处于“暂存”状态。例如:
START TRANSACTION;根据操作结果决定是否保存更改:
接上面的例子:
-- 如果一切正常MySQL 默认开启自动提交(autocommit),即每条 SQL 语句都会自动提交。可通过以下命令查看和关闭:
SELECT @@autocommit;设置为 0 后,每个事务都需要手动 COMMIT 或 ROLLBACK。
基本上就这些。掌握 START TRANSACTION、COMMIT、ROLLBACK 和 autocommit 设置,就能在 MySQL 中正确使用事务来保障数据安全。注意:只有支持事务的存储引擎(如 InnoDB)才能使用事务功能。MyISA
M 不支持事务。不复杂但容易忽略。