mysql之TCL–事物隔离级别–演示
set autocommit=0,
当前session禁用自动提交事物,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务。
数据库的隔离级别:
同时运行多个事物,访问数据库中相同数据,没有采取必要的隔离机制,就会导致各种并发问题
类似多线程的线程安全,五个人同时上一个厕所,所以要启用加锁的方式,实现线程同步,解决
脏读:两个事物:t1、t2,t2更新还没提交的字段被t1读取了,t1读到的内容就是临时无效的
例如:被记者曝光我以后的财富,上一秒一万个亿,其实我已经有两万个亿了。更新
不可重复读:对于两个事物t1、t2,t1读取了一个字段,t2更新了,t1再次读取同一个字段,值不同
例如:网卡了查询余额,开始有1000后来只有500。修改
幻读:对于两个事物t1、t2,t1从一个表中取出一个字段,t2插入一些数据之后,t1再读多出几行
例如:三行变五行。插入
可以通过设计
#1.停止MySQL
C:\WINDOWS\system32>net stop mysql
#2.启动MySQL
C:\WINDOWS\system32>net start mysql
#3.登录MySQL
C:\WINDOWS\system32>mysql -uroot -pROOT
#4.查看默认隔离级别
mysql> select @@tx_isolation
#5.设置隔离级别为最低的:读未提交
#6.重复第4步,查看默认级别
#7.打开test库
#8.查看表中数据
#9.修改表中姓名列的字符集