举个例子:账户A中有100元钱,此时向账户B和账户C同时向账户A转入100元,此时发生并发操作,账户A中可能会有200或300元,此时为确保数据正确,应该怎么做
1使用悲观锁
在sql语句中使用 select for update 语句给数据加锁后,更新该数据。
2使用乐观锁
给账户表增加一列版本号,更新表数据时,where语句中增加版本号。
3使用mysql中innodb引擎中update自动加锁机制
举个例子:账户A中有100元钱,此时向账户B和账户C同时向账户A转入100元,此时发生并发操作,账户A中可能会有200或300元,此时为确保数据正确,应该怎么做
1使用悲观锁
在sql语句中使用 select for update 语句给数据加锁后,更新该数据。
2使用乐观锁
给账户表增加一列版本号,更新表数据时,where语句中增加版本号。
3使用mysql中innodb引擎中update自动加锁机制