SET SQL_SAFE_UPDATES = 0;
-- show variables like '%autocommit%';
delimiter //
DROP PROCEDURE IF EXISTS appendProc;
CREATE PROCEDURE appendProc()
BEGIN
DECLARE t_error INTEGER DEFAULT 0;
DECLARE num INTEGER DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
set autocommit=0;
START TRANSACTION;
select count(*) into num from `table_name` where `name` = '张三' ;
if num = 0 then
INSERT INTO `table_name`(`name`) VALUES ('张三');
SELECT @@IDENTITY into @parent_id;
end if;
IF t_error = 1 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
select t_error;
END ;
call appendProc();//
delimiter ;