过程:
CREATE DEFINER=`root`@`127.0.0.1` PROCEDURE `test1`()
BEGIN
declare err INT default 0;
declare continue handler for sqlexception set err=1;
start transaction;
insert a values(1,1);
insert a values(1,1);
insert a values(2,2);
if (err=0) then
commit;
select 'OK';
else
rollback;
select 'err';
end if;
END
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: latin1_swedish_ci
执行结果:
root@localhost(test) 11:54:12>call test1();
+-----+
| err |
+-----+
| err |
+-----+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
root@localhost(test) 11:54:14>select * from a;
Empty set (0.00 sec)