银行转账事务的小练习,简单的简单表述了事务的四大特性(原子性:要么全部完成,要么全部不完成;一致性:事务开始之前和事务结束以后,数据库的完整性没有被破坏;持久性:事务完成以后,该事务对数据库的更改持久保存在数据库中;隔离性:在同一时间仅有一个请求用于同一数据)
数据库方面
从张无忌账户上给赵敏转1000块.
准备:account(账户表):
---------------------------------------------------------------
id name(账号,唯一) balance(余额)
1 张无忌 20000
2 赵敏 0
---------------------------------------------------------------
转账的思路:
1.检查张无忌的账号余额是否大于等于1000.
Select balance from tb_account where balance >=1000;
2.在张无忌的账号余额上减少1000
Update tb_account set balance = balance -1000 where name=’张无忌’
3.在赵敏的账户余额尚增加1000.
Update tb_account set balance = balance +1000 where name=’赵敏’
1