新手问题 How to lock a whole table

luffycn · 2015年01月29日 · 最后由 fuan 回复于 2015年01月29日 · 1321 次阅读

如何在操作时锁住整张表了? 看了下 http://api.rubyonrails.org/classes/ActiveRecord/Locking/Pessimistic.html#method-i-lock-21 这个文档 貌似只能锁住表中的某一行,而不是整张表

比如我有一个表 tasks 当 Task.create 正在进行时,任何其它的操作,包括 Task.find, task.update_attributes 之类的任何其它操作该表相关的操作都不允许

匿名 #1 2015年01月29日

SQL 标准没有定义一种方法来锁定整张表,所以这个和你后端具体是什么数据库有关,比如在 postgresql 中,锁表是很简单的,一句话的事:LOCK TABLE table-name ps:强烈推荐 postgresql,很好的。有兴趣看下这个入门资料(你看,我已经帮你翻到“锁”这一章节了,真心推荐 postgresql)http://wenku.baidu.com/view/d4ea7f88b9f3f90f77c61b42.html?re=view&pn=212

需要 登录 后方可回复, 如果你还没有账号请 注册新账号