(六)sql事务的处理commit,rollback的用法总结
1. 事务处理
事务的存在是为了保持数据的一致性。要么全做,要么全不做。
mysql中数据是自动提交的,可以使用set autocommit=0 可以关闭自动提交功能,set autocommit=1即开启自 动提交功能。再写commit后,就提交了。无法回滚了。rollback可以回滚commit提交之前的操作。
二种方法:①用begin。。。rollback。。。commit。rollback回到了begin开始状态。
BEGIN
SAVEPOINT point1
INSERT into t1 VALUES (1,1)
ROLLBACK to point1
SAVEPOINT point2
INSERT into t1 VALUES(2,2)
ROLLBACK to point2
SAVEPOINT point3
DELETE from t1 WHERE age=2
ROLLBACK to point3
COMMIT
ROLLBACK
②用set autocommit=0 关闭自动提交功能,写完后添加commit即可。
注意事项:1 能够回滚的操作只有select ,delete,update,insert这几个。
2 执行一个DDL(CREATE、ALTER、DROP、TRUNCATE、RENAME)语句,或者执行一个DCL(GRANT、REVOKE)语句都会触发隐式提交。
3 以下操作会触发隐式回滚:客户端强退,或者奔溃。
暂时学了这么多,还得做更为细致的更新。