2012-02-24 13 views
0

は、私は自分のアプリケーションでは(MySQLの関連)エラーCodeIgniterのとLOCKテーブル

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

次CodeIgniterでは、どうすればこの問題を解決することができている - 私はUNLOCK TABLESを試みたが、これは問題が解決しない、任意のアイデア?

+0

は、誰もが疑問に思った場合にMySQLを再起動する必要がありました。 – Zabs

+1

これは一時的な修正です。根本的な原因はおそらくまだそこにある.... – landons

答えて

0

これはトランザクション内で、またはLOCK TABLESの後でこのクエリを実行したことを意味します(コードを書き込まなかったので、前にLOCK TABLESを使用していたと仮定しています)。

トランザクション中は、挿入/更新するものだけでなく、FROMステートメントで使用しているすべてのテーブルにロックを設定する必要があります。

LOCK TABLES文に 'users READ'を追加する必要があります。それは、あなたが最新のそれらの値を数えているので、 'users'テーブルから読み込むのはうれしいが、書き込みはしないという同時クエリを伝えます。

このマニュアルページはかなりこのエラーを説明します http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html

関連する問題