使用事務要注意以下三點:
1、在 MySQL 中只有使用了 Innodb 數據庫引擎的數據庫或表才支持事務。
2、事務處理可以用來維護數據庫的完整性,保證成批的 SQL 語句要麼全部執行,要麼全部不執行。
3、事務用來管理 insert,update,delete 語句
MYSQL 事務處理主要有兩種方法:
1、用 BEGIN, ROLLBACK, COMMIT來實現
BEGIN 開始一個事務
ROLLBACK 事務回滾
COMMIT 事務確認
2、直接用 SET 來改變 MySQL 的自動提交模式:
SET AUTOCOMMIT=0 禁止自動提交
SET AUTOCOMMIT=1 開啓自動提交
例如:
SET AUTOCOMMIT = 0; BEGIN; INSERT INTO km_xtyh (YHID,YHMC) VALUE ('asdjoi213hjsh','李四'); COMMIT;
解讀:
先將自動提交給關閉了~然後用“BEGIN”開啓事務,之後雖然是插入語句,但是還沒有進行“COMMIT”操作,並沒有真正的提交,該條數據只是暫時性存在數據庫中(注意:此時數據庫裏已經有“李四”這一條數據),如果執行了"COMMIT"語句,該條數據將永久性插入數據庫;
如果不執行"COMMIT"執行的是另外一個語句"ROLLBACK",則數據庫中將不會存在該條記錄,數據沒有真正插入成功。