1.什么是事务?
事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。如:转账就要用事务来处理,用以保证数据的一致性。
2.常用方法:
(1):start transaction:开始事务
(2): savepoing :设置事务点
(3):rollback to:回退事务
(4):commit:提交事务
保存点是事务中的点.用于取消部分事务,当结束事务时(commit),会自动的删除该事务所定义的所有保存点.当执行回退事务时,通过指定保存点可以回退到指定的点
使用commit语句可以提交事务.当执行了commit语句子后,会确认事务的变化、结束事务、删除保存点、释放锁,数据生效。当使用commit语句结束事务子后,其它会话(其他连接)将可以查看到事务变化后的新数据(所有数据就正式生效.)
注意:
1.如果不开始事务,默认情况下,dml操作是自动提交的,不能回滚
2.如果开始一个事务,你没有创建保存点.你可以执行rollback,默认就是回退到
你事务开始的状态.
3.你也可以在这个事务中(还没有提交时).创建多个保存点.比如:savepointaaa;执行dml , savepoint bbb;
4.你可以在事务没有提交前,选择回退到哪个保存点.
5. mysql的事务机制需要innodb的存储引擎还可以使用,myisam不好使.
6.开始一个事务start transaction, set autocommit=off;