>  기사  >  데이터 베이스  >  mysql的commit 以及 rollback,savapoint_MySQL

mysql的commit 以及 rollback,savapoint_MySQL

WBOY
WBOY원래의
2016-06-01 13:07:04925검색

弱菜的进击之路-

一般来说

安装完mysql之后 默认设置的 

set autocommit = true;


每次执行sql语句不能回滚。


现在我们为了试验commit 

我们可以 

use test;

(使用test数据库)

然后 

set autocommit = false; 

设置完之后,如果没执行

commit; 

最多也就是在内存里面存着,数据不会写到数据库之中

一旦我们 commit;之后数据库就被提交到数据库了

当然 

在commit之前 我们可以rollback;回归数据库到commit之前

但是这个rollback等于把你之前做的全回滚了,等于前面都做了无用功了。

所以我们一般会在想要保存的点,弄个存档,就像windows系统里面的还原点一般

比如我做完这个sql语句之后

执行了

savepoint p1;
建立了还原点p1;

然后在继续执行下一条sql语句删除之类的

然后

我执行了

rollback to t1;

那样就可以回到t1的存档点,就像打游戏一样!不爽就读以前的进度

当然如果你执行了commit之后!

你就不能实现rollback了!切记!!!!!!!!!!!!!

大哭大哭作为菜鸟好辛苦!





성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.