有一段时间不用mysql 了,这几天找了一本书想把mysql 的那些东西重新复习一下。看到mysql的事务处理的时候 ,做了一个小实验 ,但发现实现不了事务。存储过程中第二个sql 报主键冲突,应该是全部回滚的。可是第一个sql竟然提交了, 不知道是不是我对mysql的事务机制没有理解清楚。
存储过程如下, 希望有高手支招,十分感谢
drop procedure if exists p_8;
create procedure p_8 ()
not deterministic
modifies sql data
begin start transaction ;
update table_test3
set ax1 = 'updateContent';
update table_test3
set ax =0; #ax 是主键, 表中有多条记录
commit;
end $