Как передать параметры в скрипт MySQL при запуске через cmd? - PullRequest
1 голос
/ 21 мая 2019

Я пытаюсь передать параметры в свой сценарий sql через cmd в Windows, но он не работает, и при этом я не получаю никаких ошибок.

Это будет работать в среде Windows и выполняться с использованием cmd.У меня есть следующий код в моем сценарии deploy.sql:

INSERT INTO `database`.`users` (`id`, `first_name`, `last_name`, `username`, `active`)
    VALUES (1, @first_name, @last_name, @user_name, 1);

Я хочу передать 3 строки моему сценарию, но он не работает.Если я жестко закодирую строки в скрипте, тогда я могу выполнить скрипт с помощью cmd.

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

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" -u root -p -e "set @first_name='John'; set @last_name='Smith'; set @user_name='john.smith';" < deploy.sql 

Моя база данных не обновляется, и я не получаю никаких ошибок.Если я запускаю команду с -v для подробного вывода, я получаю:

--------------
set @first_name='John'
--------------
--------------
set @last_name='Smith'
--------------
--------------
set @user_name='john.smith'
--------------

1 Ответ

1 голос
/ 21 мая 2019

Я решил свою проблему, используя \. deploy.sql несоответствие с -e вместо того, чтобы указать мой файл сценария, например < deploy.sql.

Вот рабочий код:

"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" -u root -p -e "set @first_name='John'; set @last_name='Smith'; set @user_name='john.smith'; \. deploy.sql" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...