MySQL(8) – MySQL的事務機制
- 2022 年 5 月 20 日
- 筆記
- MySQL, Python數據庫開發, 測試開發 - python, 測試高級進階 - Mysql
MySQL數據庫的事務機制
1.1.事務的概念和特性
1.2.事務的隔離級別
repeatable read是mysql默認的事務隔離級別
#事務A #事務A,臨時修改工資,未commit, START TRANSACTION; UPDATE t_emp SET sal=1;#事務B,查看工資,查看不到未提交數據 START TRANSACTION; SELECT empno,ename,sal FROM t_emp; COMMIT;
#事務B,修改事務隔離級別,可以查看未提交數據 SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; START TRANSACTION; SELECT empno,ename,sal FROM t_emp;
#事務A,臨時修改工資,未commit, START TRANSACTION; UPDATE t_emp SET sal=1;#事務B,修改事務隔離級別,無法查看未提交數據 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED; START TRANSACTION; SELECT empno,ename,sal FROM t_emp;
#事務A,修改工資,commit, START TRANSACTION; UPDATE t_emp SET sal=1; COMMIT;#事務B,修改事務隔離級別,重複讀取漲工資之前的數據 SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ; START TRANSACTION; SELECT empno,ename,sal FROM t_emp;
#事務A,修改工資,commit, START TRANSACTION; UPDATE t_emp SET sal=1; COMMIT;#事務B,修改事務隔離級別序列化,等待上一次事務結束 SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE; START TRANSACTION; SELECT empno,ename,sal FROM t_emp;