Mysql 事务
Mysql 事务
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不 执行。
例子:张三账户转账转出 100 元到李四的账户
1、张三账户减去 100 元
2、李四账户增加 100 元
UPDATE user set balance = balance-100 WHERE id=1
UPDATE user set balance = balance+100 WHERE id=2
如果我们更新完张三的账户后,准备更新李四账户的时候出现了错误(比如程序错误,或者数据库没 法连接、或者异常断电等错误)。这样的话就导致了数据不一致。为了保证数据的一致性,这个时候 我们就可以使用事务。
Mysql 中用 BEGIN, ROLLBACK, COMMIT 来实现事务
BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
begin;
update user set balance = balance-100 where id=1;
update user set balance = balance+100 where id=2;
commit;