事务是通过Undo Log
实现回滚的,当我们每执行一条SQL语句之前,都会先在 Undo Log中记录一条反向操作
例如我们执行了:
insert into ....
update ... set money = 2 # money = 1
则会在Undo Log中记录两条:
delete ...
update ... set money = 1
如果对同一个数据进行多次修改,则会记录多次undo log,如:
当事务需要回滚时,会依次按照undo log回滚数据
事务是通过Undo Log
实现回滚的,当我们每执行一条SQL语句之前,都会先在 Undo Log中记录一条反向操作
例如我们执行了:
insert into ....
update ... set money = 2 # money = 1
则会在Undo Log中记录两条:
delete ...
update ... set money = 1
如果对同一个数据进行多次修改,则会记录多次undo log,如:
当事务需要回滚时,会依次按照undo log回滚数据