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