事务问题的非事务解决方案

事务问题的非事务解决方案

作者:LAMP小白  点击:1812  发布日期:2012-10-28 20:35:00  返回列表
在一个不支持事务的环境里,有些事务问题可以想办法解决

明确的锁定数据表

把多条语句用LOCK TABLES和UNLOCK TABLES括起来就可以把他们当做一个单元执行了

mysql> LOCK TABLES t WRITE;
Query OK, 0 rows affected (0.00 sec)

mysql> UNLOCK TABLES;
Query OK, 0 rows affected (0.00 sec)

但是我们允许其他用户进行读取,所以只需要加一把写操作的锁

mysql> LOCK TABLES t READ;
Query OK, 0 rows affected (0.00 sec)

使用相对更新操作而不使用绝对更新操作

XX = XX - 1;
这样可以在一些场合避免同时操作带来的问题

事务数据表和非事务数据表混用

在某次事务中混合使用事务数据表和非事务数据表是允许的,但最终的结果不一定符合你的期望,对非事务数据表进行操作的语句总是立刻生效,即便是自动提交模式处于禁用状态也是如此.


上一篇:事务的隔离性 下一篇:快递查询API
0