MySQL的事務支持不是綁定在MySQL服務器自己,而是與存儲引擎相關1.MyISAM:不支持事務,用於只讀程序提升性能 2.InnoDB:支持ACID事務、行級鎖、併發 3.Berkeley DB:支持事務mysql
進去mysql數據庫:sql
查詢數據庫:數據庫
進入庫 查看錶:服務器
拿user 表來試驗;併發
開啓事務
START TRANSACTION 或 BEGIN性能
提交事務(關閉事務)
COMMITspa
放棄事務(關閉事務)
ROLLBACK3d
查看user 表數據blog
mysql-> select * from user;事務
開啓事物
mysql -> begin;
修改user 表的id=5的數據:
mysql-> update user set photo=6000 where=5;
如今執行成功,可是還在事物中,事物沒有結束查看錶數據 仍是同樣,打開新窗口 在事物外查詢 表數據沒變;
回來原窗口 繼續執行事務,吧id=4的數據修改爲4000;
mysql-> update user set photo=4000 where id=4;
如今這些都在事物中,想把zhangsan的5000給lisi1000,這時張三4000,李四6000,全部sql執行完比提交事物;
mysql-> commit;
mysql-> select * from user;
事物執行成功;一個事物到這就結束了;
若是不想執行ROLLBACK回滾;數據不變 仍是張三5000;李四5000;
不懂得能夠問我