Столы Codeigniter и LOCK - PullRequest
       3

Столы Codeigniter и LOCK

0 голосов
/ 24 февраля 2012

В моем приложении есть следующая ошибка Codeigniter (связанная с MySQL)

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

Как я могу решить эту проблему - я пытался разблокировать столы, но это не решает проблему, какие-либо идеи?

1 Ответ

0 голосов
/ 23 марта 2012

Это означает, что вы выполняли этот запрос внутри транзакции или после LOCK TABLES (вы не писали код, поэтому я предполагаю, что вы использовали LOCK TABLES до этого).

Когда вы находитесь в транзакции, вам нужно получить блокировки для ВСЕХ таблиц, которые вы используете в инструкциях FROM, а не только для тех, которые вы вставляете / обновляете.

Вам необходимо добавить 'READ users' в оператор LOCK TABLES. Он сообщает параллельным запросам, что можно читать из таблицы «пользователи», но не писать, поскольку вы рассчитываете, что эти значения актуальны.

Эта страница руководства в значительной степени объясняет эту ошибку: http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...