Таблица «тест» не была заблокирована, хотя она была - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь вывести некоторые операторы INSERT в. sql mysql -h "$HOST" -u "root" -D "test_db" -e 'source test_insert.sql' test_insert.sql делает INSERT в таблицу с именем test. Вот как выглядит test_insert.sql:

LOCK TABLES `test` WRITE;

INSERT INTO `test` ('a','b')
VALUES
    (1,2),
    .
    .
    .   

UNLOCK TABLES;

И все же, когда я запускаю это, я получаю сообщение об ошибке ERROR 1100 (HY000) at line 3 in file: 'test_insert.sql': Table 'test' was not locked with LOCK TABLES.

Параметры хоста и соединения верны, это уже подтверждено.

Есть указатели?

1 Ответ

1 голос
/ 26 марта 2020

Вам следует также заблокировать таблицу test. Вы приобрели блокировку только для address таблицы

LOCK TABLES адресов WRITE;

Из mysql документации

Сеанс, для которого требуются блокировки, должен получить все необходимые блокировки в одном операторе LOCK TABLES. Пока получаемые блокировки удерживаются, сеанс может получить доступ только к заблокированным таблицам.

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