1.MySQLl默认是自动提交的模式(autocommit),如果要修改这个设置,只需要一个语句SET autocommit = 0;
2.在自动提交模式下需要使用start transaction ;......commit;语句来明确指定一个事务,否则,默认的话执行一条语句就会被视为一个事务;
3.在非自动提交模式下,只需要在执行完多个语句之后,加上一个commint;
4.如果语句执行有误,可以用一条ROLLBACK语句,此语句用于自动提交模式里面的start transaction 之后,非自动提交模式的commit之前;
5.使用事务保存点,新建一个事务保存点 SAVEPOINT POINT1,如果执行语句之后要回滚到这个事务保存点之前,可以用rollback to savepoint point1;
6.事务问题怎么样用非事务方案解决:
a:锁定要修改的表,lock table table1;查询语句 unlock tables;
b:更新表时,用相对更新的方法。update table1 set quantity=quantity-3 where item="aa"
;
阅读(2601) | 评论(4) | 转发(0) |