首先用show databases查询数据库中所有
我用的是yh这个表
然后就开启事务 start transaction 这段代码表示开启事务;
开启事务之后分别给张三减500,给李四加500.
然后再打开一个黑窗口,查询这个表他们的钱有没有动,结果发现他们两个的钱并没有动
如果想要钱让他们动的话,就输入一个commit 这个代码表示提交事务,只有提交他们的钱才会动
查看mysql是否开启自动提交事务,输入一个select @@sutocommit 1表示开启,0表示关闭,然后改成0让他关闭自动提交
如果想让他们的钱变回原来的钱,就输入一个rollback回滚事务,就会让他们的钱变回原来的钱
首先再用别的表写一个存点事务,随便往里面添加数据,然后就保存定义点savepoint
然后再随便添加几条数据,如果添加的这几条数据不想要了可以输入rollback to savepoint回到保存点
查看事务隔离命令select @@transaction_isolation; 查看事务隔离,再修改事务隔离级别,改成
set global
transaction_isolation=
'read-committed;
![](https://i-blog.csdnimg.cn/blog_migrate/3f1ded5ed76c009ef97734bbd2fe7b03.png)
jdbc事务:
首先要开启事务
然后拿到数据库给对方转钱
必须要有提交事务,不然数据库里面的东西不会变
最后释放资源