mysql存储进程中如何使用事务
在 MySQL 存储进程中,可使用 START TRANSACTION
还是 BEGIN
语句开始一个事务,并使用 COMMIT
语句提交事务,还是使用 ROLLBACK
语句回滚事务。
下面是一个示例,演示怎样在 MySQL 存储进程中使用事务:
DELIMITER //
CREATE PROCEDURE example_procedure()
BEGIN
-- 开始事务
START TRANSACTION;
-- 履行一些操作
INSERT INTO table1 (column1) VALUES ('Value 1');
UPDATE table2 SET column2 = 'Value 2' WHERE id = 1;
-- 提交事务
COMMIT;
END //
DELIMITER ;
在上面的示例中,START TRANSACTION
语句开始了一个事务,然后履行了一些操作,最后使用 COMMIT
语句提交事务。如果在履行操作的进程中出现了毛病,可使用 ROLLBACK
语句回滚事务,例如:
DELIMITER //
CREATE PROCEDURE example_procedure()
BEGIN
-- 开始事务
START TRANSACTION;
-- 履行一些操作
INSERT INTO table1 (column1) VALUES ('Value 1');
UPDATE table2 SET column2 = 'Value 2' WHERE id = 1;
-- 检查是否是有毛病
IF (CONDITION) THEN
-- 回滚事务
ROLLBACK;
ELSE
-- 提交事务
COMMIT;
END IF;
END //
DELIMITER ;
在上面的示例中,如果产生某种条件,例如 IF
语句中的条件为真,那末事务将被回滚,否则事务将被提交。
TOP