Используйте значение параметра -D, переданного из клиента MYSQL в скрипте .sql - PullRequest
0 голосов
/ 13 февраля 2019

Я выполняю следующую команду для запуска моего файла test.sql.

"C:\Program Files\MariaDB 10.3\bin\mysql" -uroot -p -h localhost -P 3306 -d DB1 < C:\Users\ashishsachdeva\Desktop\test.sql

для создания схемы DB1

"C:\Program Files\MariaDB 10.3\bin\mysql" -uroot -p -h localhost -P 3306 -d DB2 < C:\Users\ashishsachdeva\Desktop\test.sql

для создания схемы DB2

в моемФайл .sql, приведенный ниже, повторяется несколько раз: -

IF NOT EXISTS( SELECT NULL
                 FROM information_schema.statistics
                WHERE table_schema = '@@DB1@@' 
                  AND index_name='idx_test' 
                  AND table_name='test')  THEN
ALTER TABLE test ADD CONSTRAINT idx_test UNIQUE
(
    id
);

Я хочу присвоить значение параметра -d локальной переменной скажем l_schema и использовать его для сравнения в вышеупомянутом sql вместо @@ DB1 @@,Таким образом, я мог бы использовать тот же сценарий для настройки @@ DB1 @@ и @@ DB2 @@

1 Ответ

0 голосов
/ 13 февраля 2019

Вместо переменной используйте функцию DATABASE () в вашем SQL.

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