AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
* 事务:一组逻辑操作单元,使数据从一种状态变成另一种状态,这组执行单元要么全部成功,要么全部失败。 update 张三 李四 张三-500 1000 1000 李四+500 500 1500 * ADIC * Atomicity 原子性:事务是一个不可分割的工作单位,事务中的操作要么都执行,要么都不执行。 * Consistency 一致性:事务必须使数据库从一个一致状态变成另一个一致状态。 * Isolation 隔离性:一个事务执行不能被其他事务干扰。 * (一个事务内部的操作,以及使用的数据对其他并发的事务是隔离的,并发执行的各个事务之间不能互相干扰) * Durability 持久性:事务一旦提交,则会永久改变数据库的数据。 * * 脏读,不可重复读,幻读 * 脏读:对于两个事务T1,T2,如果T1读取了已经被T2更新,但是还没有提交的字段,如果T2回滚,那么T1读的数据时无效的。 * 不可重复读: 对于两个事务T1,T2,T1读取了一个字段,然后T2更新了该字段。T1再次读取同一个字段,值就不同了。 * 幻读:对于两个事务T1,T2,T1读取了一个字段,然后T2在表中插入了一些新的行,之后T1再次读取同一个表,就会多出几行。 * 避免脏读即可。 * * JDBC开启事务,setAutoCommit方法为false,然后调用commit或者rollback ![](https://box.kancloud.cn/fad4a272c480161e096c7a55c47a0562_688x228.jpg) mysql中默认 第三个隔离级别 repeatable read oracle中默认第二个隔离级别 read committed 查看隔离级别 (tx 事物) select @@tx_isolation; 设置隔离级别 set session|global transaction isolation level 隔离级别;