用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3559|回复: 8
收起左侧

[已解决] 关于CI事务的问题

[复制链接]
发表于 2015-1-28 19:38:21 | 显示全部楼层 |阅读模式
我有个需求,需要首先把数据读出来,而后对读出来的数据进行业务处理,然后再把数据更新到数据库中。这中间可能会有其他访问同时来修改这条数据。怎么禁止这条数据被同时访问。
比如:我需要查出A表的金额M,然后在这个M上做业务处理,比如先验证M是否正确,然后再对M进行修改,最后提交到数据库中。在这个过程中,要防止其他进程对他进行相同操作。或者说,要其他数据在读这条数据时先等待,等待第一个操作完成并且提交事务后才能读出数据来。
发表于 2015-2-3 10:38:56 | 显示全部楼层
本帖最后由 Closer 于 2015-2-3 10:49 编辑

資料表改存 InnoDB 而非 MyISAM
若堅持要用 MyISAM 的話
你可能得搜尋有關 "鎖定資料表" 這方面的資訊
发表于 2015-2-4 09:39:28 | 显示全部楼层
Closer 发表于 2015-2-3 10:38
資料表改存 InnoDB 而非 MyISAM
若堅持要用 MyISAM 的話
你可能得搜尋有關 "鎖定資料表" 這方面的資訊 ...

你怎么喜欢繁体字??
发表于 2015-2-4 10:09:51 | 显示全部楼层
57sy.com(隐身中 发表于 2015-2-4 09:39
你怎么喜欢繁体字??

我台灣人啊~
想說你們也看得懂
於是就沒有特別去換了
发表于 2015-2-4 12:07:39 | 显示全部楼层
这是涉及到金额的问题,按理来说数据库肯定会锁定的在一瞬间不允许有其它操作。这个你应该放心才对啊。防止的应该是其它操作导致的数据不一致问题,应该使用事务处理要么全做要么全不做。
发表于 2015-2-4 22:34:52 | 显示全部楼层
Closer 发表于 2015-2-4 10:09
我台灣人啊~
想說你們也看得懂
於是就沒有特別去換了

你会不会汉语??
 楼主| 发表于 2015-2-5 09:05:09 | 显示全部楼层
问题已解决了。
 楼主| 发表于 2015-2-5 09:05:21 | 显示全部楼层
谢谢楼上各位
发表于 2015-2-5 09:29:01 | 显示全部楼层

不懂你想表示的意思?
剩下 PM 吧,說了太多與技術無關的。

本版积分规则