国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql事務處理用法與實例代碼詳解

2024-07-24 12:49:31
字體:
來源:轉載
供稿:網友

MySQL的事務支持不是綁定在MySQL服務器本身,而是與存儲引擎相關

1.MyISAM:不支持事務,用于只讀程序提高性能
2.InnoDB:支持ACID事務、行級鎖、并發
3.Berkeley DB:支持事務

一個事務是一個連續的一組數據庫操作,就好像它是一個單一的工作單元進行。換言之,永遠不會是完整的事務,除非該組內的每個單獨的操作是成功的。如果在事務的任何操作失敗,則整個事務將失敗。
實際上,會俱樂部許多SQL查詢到一個組中,將執行所有的人都一起作為事務的一部分。

事務的特性:

事務有以下四個標準屬性的縮寫ACID,通常被稱為:

原子性: 確保工作單元內的所有操作都成功完成,否則事務將被中止在故障點,和以前的操作將回滾到以前的狀態。

一致性: 確保數據庫正確地改變狀態后,成功提交的事務。

隔離性: 使事務操作彼此獨立的和透明的。

持久性: 確保提交的事務的結果或效果的系統出現故障的情況下仍然存在。

在MySQL中,事務開始使用COMMIT或ROLLBACK語句開始工作和結束。開始和結束語句的SQL命令之間形成了大量的事務。

COMMIT & ROLLBACK:

這兩個關鍵字提交和回滾主要用于MySQL的事務。

當一個成功的事務完成后,發出COMMIT命令應使所有參與表的更改才會生效。

如果發生故障時,應發出一個ROLLBACK命令返回的事務中引用的每一個表到以前的狀態。

可以控制的事務行為稱為AUTOCOMMIT設置會話變量。如果AUTOCOMMIT設置為1(默認值),然后每一個SQL語句(在事務與否)被認為是一個完整的事務,并承諾在默認情況下,當它完成。 AUTOCOMMIT設置為0時,發出SET AUTOCOMMIT =0命令,在隨后的一系列語句的作用就像一個事務,直到一個明確的COMMIT語句時,沒有活動的提交。

可以通過使用mysql_query()函數在PHP中執行這些SQL命令。

通用事務例子

這一系列事件是獨立于所使用的編程語言,可以建立在任何使用的語言來創建應用程序的邏輯路徑。

可以通過使用mysql_query()函數在PHP中執行這些SQL命令。

BEGIN WORK開始事務發出SQL命令

發出一個或多個SQL命令,如SELECT,INSERT,UPDATE或DELETE

檢查是否有任何錯誤,一切都依據的需要。

如果有任何錯誤,那么問題ROLLBACK命令,否則發出COMMIT命令。

在MySQL中的事務安全表類型:

如果打算使用MySQL事務編程,那么就需要一種特殊的方式創建表。有很多支持事務但最流行的是InnoDB表類型。

從源代碼編譯MySQL時,InnoDB表支持需要特定的編譯參數。如果MySQL版本沒有InnoDB支持,請互聯網服務提供商建立一個版本的MySQL支持InnoDB表類型,或者下載并安裝Windows或Linux/UNIX的MySQL-Max二進制分發和使用的表類型在開發環境中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 溧阳市| 和平县| 卓资县| 耒阳市| 威宁| 金湖县| 岚皋县| 双峰县| 山丹县| 西城区| 固始县| 仁化县| 望城县| 玉山县| 静海县| 铜陵市| 常山县| 鹰潭市| 鸡泽县| 石河子市| 山丹县| 翁牛特旗| 九寨沟县| 胶南市| 泰安市| 额敏县| 盐津县| 鄂温| 山西省| 扶沟县| 淅川县| 郴州市| 奉新县| 福州市| 中西区| 肥东县| 防城港市| 城市| 商河县| 永和县| 山西省|