mysql數(shù)據(jù)回滾的語句 mysql進(jìn)行回滾事物的時(shí)候,是怎么樣根據(jù)redo log和undo里面記錄的sql進(jìn)行的?
mysql進(jìn)行回滾事物的時(shí)候,是怎么樣根據(jù)redo log和undo里面記錄的sql進(jìn)行的?撤消日志用于在數(shù)據(jù)修改之前存儲值。假設(shè)修改TBA表中id=2的行數(shù)據(jù),并將name=“B”改為name=“B
mysql進(jìn)行回滾事物的時(shí)候,是怎么樣根據(jù)redo log和undo里面記錄的sql進(jìn)行的?
撤消日志用于在數(shù)據(jù)修改之前存儲值。假設(shè)修改TBA表中id=2的行數(shù)據(jù),并將name=“B”改為name=“B2”,則使用undo log來存儲name=“B”的記錄。如果修改異常,可以使用undo log進(jìn)行回滾操作,保證事務(wù)的一致性。
數(shù)據(jù)更改操作主要來自insert update delete,undo log分為兩種,一種是insert undo(插入操作),記錄要插入的唯一鍵值;一種是update undo(包括update和delete操作),記錄修改的唯一鍵值和舊列記錄。