事務的四大特性
如果一個資料庫支持事務的操作,那么該資料庫必須要具備以下四個特性:
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔離性(Isolation)
- 持久性(Durability)
其中事務的隔離性是通過MySQL鎖機制實作的,原子性,一致性,持久性則是通過MySQL的redo和undo日志記錄來完成,
事務啟動的兩種方式
mysql> create table temp(id int primary key,name varchar(20)); mysql> insert into temp values(1,'a'),(2,'b'),(3,'c');
1、顯示啟動事務陳述句,begin或者start transcation,配套的提交陳述句是commit,回滾陳述句為rollback,
mysql> begin -- 開啟一個事務,start transcation使用情況一樣 mysql> update temp set name='cc' where id=3; -- 修改資料 mysql> rollback; -- 回滾事務,這里也可以使用commit提交事務,如果不提交也不回滾,直接退出mysql,則自動回滾, mysql> select * from temp; -- 資料恢復到修改之前的狀態了
2、set autocommit=0,這個命令會將這個執行緒的更新自動提交掉,這意味著如果你只執行一個select陳述句,這個事務就啟動了,并且不會自動提交,這個事務持續存在知道你主動執行commit或rollback陳述句,或者鏈接斷開,mysql中查看當前自動提交狀態的命令為:show VARIABLES like 'autocommit'; 如下value為on代表是自動提交已經打開,
mysql> show variables like 'autocommit'; -- 查看事務自動提交是否開啟 mysql> set autocommit=0; -- 關閉事務自動提交,值為 1 則是開啟事務自動提交 mysql> update temp set name='cc' where id=3; -- 修改資料 mysql> select * from temp; -- 資料修改成功 mysql> rollback; -- 回滾事務 mysql> select * from temp; -- 資料恢復到修改之前的狀態了
事務的隔離級別
https://www.cnblogs.com/57rongjielong/p/8036418.html
https://blog.csdn.net/zwq1232113457/article/details/53442920
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/127257.html
標籤:MySQL
下一篇:sqlserver資料庫結構對比
