我正在执行以下命令来运行我的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 @@

最佳答案

在您的SQL中使用DATABASE()函数而不是变量。

关于mysql - 在.sql脚本中使用从MYSQL客户端传递的-D参数的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54662088/

10-12 12:51
查看更多