Codeigniter和LOCK表

时间:2012-02-24 11:39:58

标签: mysql codeigniter frameworks locking

我的应用程序中出现以下Codeigniter(MySQL相关)错误

Error Number: 1100
Table 'users' was not locked with LOCK TABLES
SELECT * FROM (`users`) WHERE `ID` = '1'

我该如何解决这个问题 - 我试过UNLOCK TABLES但这不能解决问题,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这意味着您在事务内或LOCK TABLES之后执行了此查询(您没有编写代码,所以我假设您之前使用过LOCK TABLES。)

当你处于事务中时,你需要锁定你在FROM语句中使用的所有表,而不仅仅是你要插入/更新的表。

您需要在LOCK TABLES语句中添加'users READ'。它告诉并发查询可以从“用户”表中读取,但不能写入,因为您指望这些值是最新的。

本手册页几乎解释了这个错误: http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html