问题
最近使用golang做资金账户,目前涉及到这两个问题
- 资金入账时,可能存在提现【出账】
- 资金提现时,可能存在资金入账
因而,为了保证资金的正确性,这里需要事务操作。
什么是事务
MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
为什么需要事务
以上面资金出账和入账为例子,写出如下没有事务的代码:
创建账户表
mysql> create table account (
-> id int(11)