mysql 存儲過程實現事務方法
- DROP PROCEDURE IF EXISTS pro_test;
-
- create procedure pro_test(out rtn int)
- begin
- declare err INT default 0;
- -- 若是出現異常,會自動處理並rollback
- declare exit handler for sqlexception ROLLBACK ;
-
-
- -- 啓動事務
- start transaction;
-
- insert into test_user values(NULL,1,'啊是大三的');
-
- -- set err = @@IDENTITY; -- = 獲取上一次插入的自增ID;
- set err =last_insert_id(); -- 獲取上一次插入的自增ID
- insert into test_user VALUES(NULL,23,err);
-
- -- 運行沒有異常,提交事務
- commit;
- -- 設置返回值爲1
- set rtn=1;
- end;
[sql] view plain copysql
- -- 調用存儲過程
-
- SET @n=1;
- CALL pro_test(@n);
- select @n;
歡迎關注本站公眾號,獲取更多信息