https://www.yduba.com/biancheng-5911516590.html
    上节我们学习了Read Uncommitted隔离级别,在这种隔别级别下,可能会出现脏读,这一节,我们继续学习四种隔防级别中另一种

    Read Committed(提交读)—读取提交内容
    (一个事务只能看见已经提交的事务所做的改变,但是事务a读取的内容,另一个事务对其修改,提交之后,会改变事务a的读取到的内容,事务a多次执行相同的select可能得到不同结果。会出现不可重复读的问题)

    这是大多数数据库系统的默认隔离级别(但不是MySQL默认的)。它满足了隔离的简单定义:一个事务只能看见已经提交的事务所做的改变。这种隔离级别也叫做不可重复读(Nonrepeatable Read),因为两次执行相同的select可能得到不同结果。
    如:在 test 库有一个表 tx,表里有3条数据,测试之前先把自动提交事务关闭,并把隔离级别设置成Read Committed,如下图:
    2读已提交 Read Committed - 图1
    这时客户端B也开启了一个事务,并更新数据,此时客户端A开始的事务并没有提交,并在这期间查询两次数据,发现数据并不一致,如下图
    2读已提交 Read Committed - 图2
    经过上面的实验可以得出结论,已提交读隔离级别解决了脏读的问题,但是出现了不可重复读的问题,即事务A在两次查询的数据不一致,因为在两次查询之间事务B更新了一条数据。已提交读只允许读取已提交的记录,但不要求可重复读。