MySQL事務可以通過以下幾種方式來實現:
示例:
BEGIN; -- 開始事務
-- 執行一系列SQL語句
COMMIT; -- 提交事務
-- 或者
ROLLBACK; -- 回滾事務
SET AUTOCOMMIT=0;
語句放在事務開始之前,然后在事務結束時使用COMMIT;
或ROLLBACK;
語句。示例:
SET AUTOCOMMIT=0; -- 關閉自動提交
-- 執行一系列SQL語句
COMMIT; -- 提交事務
-- 或者
ROLLBACK; -- 回滾事務
示例:
DELIMITER //
CREATE PROCEDURE my_transaction()
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION ROLLBACK;
START TRANSACTION;
-- 執行一系列SQL語句
COMMIT;
END //
DELIMITER ;
CALL my_transaction(); -- 調用存儲過程執行事務
無論使用哪種方式,事務的目的是要保證一系列SQL語句要么全部執行成功并被提交,要么全部回滾。