程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 講授MySQL中的事務特征

講授MySQL中的事務特征

編輯:MySQL綜合教程

講授MySQL中的事務特征。本站提示廣大學習愛好者:(講授MySQL中的事務特征)文章只能為提供參考,不一定能成為您想要的結果。以下是講授MySQL中的事務特征正文


一個事務是一個持續的一組數據庫操作,就似乎它是一個單一的任務單位停止。換言之,永久不會是完全的事務,除非該組內的每一個零丁的操作是勝利的。假如在事務的任何操作掉敗,則全部事務將掉敗。

現實上,會俱樂部很多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二進制分發和應用的表類型在開辟情況中。
假如MySQL裝置支撐InnoDB表,只需添加一個的TYPE=InnoDB 界說表創立語句。例如,上面的代碼創立InnoDB表tcount_tbl:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> create table tcount_tbl
  -> (
  -> tutorial_author varchar(40) NOT NULL,
  -> tutorial_count INT
  -> ) TYPE=InnoDB;
Query OK, 0 rows affected (0.05 sec)

請檢查上面的鏈接懂得更多關於: InnoDB

可使用其他GEMINI或BDB表類型,但它取決於您的裝置,假如它支撐這兩品種型。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved