前几天的MYSQL的事务错误不会滚的问题, 有同学反映没有太明白.
今天就以这个作为一个主题来做, 题目有点颠覆三观. 首先开头要说的是, MYSQL 默认情况下事务没有原子性....原子性保证每个事务被视为一个单独的“单元”,要么完全成功,要么完全失败,如果组成事务的任何一条语句失败,整个事务就会失败,而数据库将保持不变。...数据库服务器中,死锁和锁等待都是很正常的事情,当然可以从数据库和应用两个部分和不同的手段来解决问题....上面那段加粗的字体的英文就是今天这篇文字的重点 become part of the transaction ,也就是说,MYSQL 的ACID , Atom 这一项 破功了....可能有人还没觉得有什么事情,我们来一个业务说说这个问题
银行有一个业务,发放工资的业务, 在程序中执行了如下语句
Begin;
员工1工资账号 + 18000
员工2 工资账号+ 24000
员工3