Синтаксическая ошибка, полученная при попытке получить файл из командной строки mysql - PullRequest
0 голосов
/ 12 октября 2018

У меня есть файл, который заполнен утверждениями, которые выглядят следующим образом:

update table set column1=NULL where column2 in (select id from users where user_id in ('user1','user2'));

Как видите, это правильный синтаксис.Когда я запускаю эту команду вручную в командной строке mysql, она работает как задумано.

Однако, когда я пытаюсь найти файл, я получаю синтаксические ошибки.Кто-нибудь видел эту проблему раньше?Я ищу решение ...

mysql> \! source /tmp/update_users.sql
/tmp/update_users.sql: line 2: syntax error near unexpected token `('
/tmp/update_users.sql: line 2: `(select id from users where user_id in ('user1','user2'));'

1 Ответ

0 голосов
/ 12 октября 2018

Вы должны использовать исходную команду MySQL:

mysql> source /tmp/update_users.sql

Когда вы используете \!, вы вместо этого вызываете команду оболочки.Команда shell source ожидает сценарий оболочки, а не файл sql.

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