主頁 > 知識(shí)庫 > MySql是否需要commit詳解

MySql是否需要commit詳解

熱門標(biāo)簽:電話機(jī)器人的價(jià)格多少錢一個(gè)月 徐涇鎮(zhèn)騰訊地圖標(biāo)注 自己做地圖標(biāo)注需要些什么 中國(guó)地圖標(biāo)注公司 百度地圖標(biāo)注要什么軟件 昌德訊外呼系統(tǒng) 天津公司外呼系統(tǒng)軟件 福建外呼電銷機(jī)器人加盟 400電話申請(qǐng)廠家現(xiàn)貨

mysql在進(jìn)行如插入(insert)操作的時(shí)候需不需要commit,這得看你的存儲(chǔ)引擎,

如果是不支持事務(wù)的引擎,如myisam,則是否commit都沒有效的。

如果是支持事務(wù)的引擎,如innodb,則得知道你事物支持是否自動(dòng)提交事務(wù)(即commit)

看自己的數(shù)據(jù)庫是否是自動(dòng)commit,可以使用mysql> show variables like '%autocommit%';來進(jìn)行查看,如果是OFF即不自動(dòng)commit,需要手動(dòng)commit操作(命令行可以直接“commit;“命令),否則是自動(dòng)commit。

提交數(shù)據(jù)有三種類型:顯式提交、隱式提交及自動(dòng)提交。

下面分 別說明這三種類型。

顯式提交

用 COMMIT 命令直接完成的提交為顯式提交。

隱式提交

用 SQL 命令間接完成的提交為隱式提交。這些命令是:

ALTER , AUDIT , COMMENT , CONNECT , CREATE , DISCONNECT , DROP , EXIT , GRANT , NOAUDIT , QUIT, REVOKE , RENAME 。

自動(dòng)提交

若把 AUTOCOMMIT 設(shè)置為 ON ,則在插入、修改、刪除語句執(zhí)行后,

系統(tǒng)將自動(dòng)進(jìn)行提交,這就是自動(dòng)提交。其格式為: SQL>SET AUTOCOMMIT ON ;

COMMIT / ROLLBACK這兩個(gè)命令用的時(shí)候要小心。 COMMIT / ROLLBACK 都是用在執(zhí)行 DML語句(INSERT / DELETE / UPDATE / SELECT )之后的。DML 語句,執(zhí)行完之后,處理的數(shù)據(jù),都會(huì)放在回滾段中(除了 SELECT 語句),等待用戶進(jìn)行提交(COMMIT)或者回滾 (ROLLBACK),當(dāng)用戶執(zhí)行 COMMIT / ROLLBACK后,放在回滾段中的數(shù)據(jù)就會(huì)被刪除。(SELECT 語句執(zhí)行后,數(shù)據(jù)都存在共享池。提供給其他人查詢相同的數(shù)據(jù)時(shí),直接在共享池中提取,不用再去數(shù)據(jù)庫中提取,提高了數(shù)據(jù)查詢的速度。)

所有的 DML 語句都是要顯式提交的,也就是說要在執(zhí)行完DML語句之后,執(zhí)行 COMMIT 。而其他的諸如 DDL 語句的,都是隱式提交的。也就是說,在運(yùn)行那些非 DML 語句后,數(shù)據(jù)庫已經(jīng)進(jìn)行了隱式提交,例如 CREATE TABLE,在運(yùn)行腳本后,表已經(jīng)建好了,并不在需要你再進(jìn)行顯式提交。

您可能感興趣的文章:
  • php+mysql事務(wù)rollbackcommit示例

標(biāo)簽:昌都 北京 陜西 黔西 荊門 鄂爾多斯 梅河口 駐馬店

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySql是否需要commit詳解》,本文關(guān)鍵詞  MySql,是否,需要,commit,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySql是否需要commit詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySql是否需要commit詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章