Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Ошибка: "<Table> was not locked with LOCK TABLES".   Найти похожие ветки 

 
Aldor ©   (2004-03-08 16:44) [0]

Сервер БД - MySQL.
Выполняются следующие запросы:

LOCK TABLES <Table1> LOW_PRIORITY WRITE
INSERT INTO <Table2> SELECT <some fields> FROM <Table1>

На попытке выполнить последний запрос вылетает вышеописанная ошибка:
 Error 1100: Table <Table2> was not locked with LOCK TABLES

Если заблокировать обе таблицы, то все в порядке. Почему нужно блокировать обе таблицы?


 
Nikolay M. ©   (2004-03-08 17:43) [1]

Из мануала:

При использовании команды LOCK TABLES необходимо блокировать все таблицы, которые предполагается использовать в последующих запросах, употребляя при этом те же самые псевдонимы, которые будут в запросах! Если таблица упоминается в запросе несколько раз (с псевдонимами), необходимо заблокировать каждый псевдоним!
Поскольку блокировки - это некая эмуляция транзакций, логично, что нужно блокировать все таблицы, над которыми производятся какие-то операции.


 
Aldor ©   (2004-03-08 19:23) [2]

Спасибо, у меня мануал MySQL 3.23. Там я подобного не нашел. Не подскажите, из какого мануала взяли?


 
Nikolay M. ©   (2004-03-08 21:11) [3]

http://www.mysql.com/doc/
в частности,
http://www.mysql.com/doc/ru/LOCK_TABLES.html
правда, я не в курсе, насколько перевод поспевает за оригиналом, раньше по первой ссылке выдавался англоязычный текст. Но вроде о 4.0.2 по-русски написано.



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
9-1064520950
Sacred
2003-09-26 00:15
2004.04.04
Camera в GlScene и ее проекции....


6-1075220897
*partizan*
2004-01-27 19:28
2004.04.04
Сетевые компоненты в Delphi7


14-1078603282
Piter
2004-03-06 23:01
2004.04.04
Новый клиент для форума


1-1079338277
alex732
2004-03-15 11:11
2004.04.04
Точка остановки


8-1070709041
Михааааааааааааа
2003-12-06 14:10
2004.04.04
ScrollBar