共計 1120 個字符,預計需要花費 3 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章將為大家詳細講解有關 MySQL 數據庫中需要 commit 嗎,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
mysql 在進行如插入(insert)操作的時候需不需要 commit,這得看你的存儲引擎,如果是不支持事務的引擎,如 myisam,則是否 commit 都沒有效的。
推薦課程:MySQL 教程。
如果是支持事務的引擎,如 innodb,則得知道你事物支持是否自動提交事務(即 commit)
看自己的數據庫是否是自動 commit,可以使用 mysql show variables like %autocommit% 來進行查看,如果是 OFF 即不自動 commit,需要手動 commit 操作(命令行可以直接“commit;“命令),否則是自動 commit。
提交數據有三種類型:顯式提交、隱式提交及自動提交。
下面分 別說明這三種類型。
顯式提交
用 COMMIT 命令直接完成的提交為顯式提交。
隱式提交
用 SQL 命令間接完成的提交為隱式提交。這些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
自動提交
若把 AUTOCOMMIT 設置為 ON,則在插入、修改、刪除語句執行后,
系統將自動進行提交,這就是自動提交。其格式為:SQL SET AUTOCOMMIT ON;
COMMIT / ROLLBACK 這兩個命令用的時候要小心。COMMIT / ROLLBACK 都是用在執行 DML 語句(INSERT / DELETE / UPDATE / SELECT)之后的。DML 語句,執行完之后,處理的數據,都會放在回滾段中(除了 SELECT 語句),等待用戶進行提交(COMMIT)或者回滾(ROLLBACK),當用戶執行 COMMIT / ROLLBACK 后,放在回滾段中的數據就會被刪除。(SELECT 語句執行后,數據都存在共享池。提供給其他人查詢相同的數據時,直接在共享池中提取,不用再去數據庫中提取,提高了數據查詢的速度。)
所有的 DML 語句都是要顯式提交的,也就是說要在執行完 DML 語句之后,執行 COMMIT。而其他的諸如 DDL 語句的,都是隱式提交的。也就是說,在運行那些非 DML 語句后,數據庫已經進行了隱式提交,例如 CREATE TABLE,在運行腳本后,表已經建好了,并不在需要你再進行顯式提交。
關于 MySQL 數據庫中需要 commit 嗎就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
向 AI 問一下細節
丸趣 TV 網 – 提供最優質的資源集合!