mysql语句中事务可靠性_MYSQL中的事务
我們來看一下住戶退房這個業務需要做什么事情?
要更新該用戶的離開時間、總金額
需要更新用戶所住的房屋的狀態為空閑
由此可見,以上需要兩個SQL來實現。
發現問題:若某一個SQL語句執行出錯的情況下,另外一個SQL結果卻已經更新到數據庫,造成了數據的不完整。
如何解決:事務
l? 事務處理可以用來維護數據庫的完整性,保證成批的SQL語句要么全部執行,要么全部不執行
l? 事務用來管理insert,update,delete語句
1.1.1. 事務的特性
一般來說,事務是必須滿足4個條件(ACID): Atomicity(原子性)、Consistency(穩定性)、Isolation(隔離性)、Durability(可靠性)
1、事務的原子性:一組事務,要么成功;要么撤回。
2、穩定性 : 有非法數據(外鍵約束之類),事務撤回。
3、隔離性:事務獨立運行。一個事務處理后的結果,影響了其他事務,那么其他事務會撤回。事務的100%隔離,需要犧牲速度。
4、可靠性:軟、硬件崩潰后,數據表驅動會利用日志文件重構修改。可靠性和高速度不可兼得,
1.1.2. MYSQL 事務處理主要有兩種方法:
1、用 BEGIN, ROLLBACK, COMMIT來實現
BEGIN 開始一個事務
ROLLBACK 事務回滾
COMMIT 事務確認
2、直接用 SET 來改變 MySQL 的自動提交模式:
SET AUTOCOMMIT=0 禁止自動提交
SET AUTOCOMMIT=1 開啟自動提交
總結
以上是生活随笔為你收集整理的mysql语句中事务可靠性_MYSQL中的事务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10切换输入法的快捷键怎么设置 W
- 下一篇: 华硕uefi界面怎么进 如何进入华硕UE