mysql事務回滾
阿新 • • 發佈:2018-08-15
技術分享 default null 刪除 inf nod .com efault 人員
mysql使用事務前需確定存儲引擎為innodb,譬如刪除一個人員數據,會刪除和這個人有關的一些數據刪除,這個時候就會用到事務,出現一個刪除錯誤整個刪除事務就會取消。
事務回滾步驟:
/*創建roll表*/
CREATE TABLE roll(
id int unsigned primary key auto_increment comment ‘主鍵‘,
names varchar(64) not null default ‘‘ comment ‘姓名‘
)CHARSET =UTF8 ENGINE =INNODB;
引擎為INNODB;
/*由於字段太少又插入了一條擁有金額*/
ALTER TABLE roll ADD money float not null default ‘0.0‘ comment ‘擁有金額‘;
/*插入數據*/
INSERT INTO roll VALUES
(null,‘lily‘,‘1000.8‘),
(null,‘lucy‘,‘2009.7‘),
(null,‘liming‘,‘3009‘);
所建表如下:
回滾事務步驟如下:
首先開始一個事務代碼如下:
做一個保存點a代碼如下:
執行一個刪除動作代碼如下:
再次查詢表的內容:
如果感覺執行操作有問題可以選擇回滾到a保存點最後查詢數據回到最開始狀態代碼如下:
註意:如果感覺代碼沒問題可以執行一個commit,執行完畢以後事務無法再回退.
mysql事務回滾