我很难相信以前从未有人问过这个问题,但一定有人问过!我正在处理一个需要运行一些 sql 命令的批处理文件。所有解释这个的教程都不起作用(指的是这个链接:Pass parameters to sql script 无疑有人会提到)!我已经逐字尝试了该站点上的其他帖子,但仍然没有任何效果。
在我看来,有两种方法可以解决这个问题: 1.要么弄清楚如何调用我的基本 MYSQL 脚本并指定一个参数,要么.. 2. 找到一个等价的“USE ;”批量工作的命令
到目前为止我的批处理文件:
:START
@ECHO off
:Set_User
set usrCode = 0
mysql -u root SET @usrCode = '0'; \. caller.sql
简单地说,我想将“usrCode”传递给我的 MYSQL 脚本“caller.sql”,如下所示:
USE `my_db`;
CALL collect_mismatch(@usrCode);
我知道程序是一个完全不同的主题,但假设该程序运行良好。我只是无法将我的参数从 Batch 获取到 MYSQL。
理想情况下,我希望在我的批处理文件中包含“USE”和“CALL”命令,但我找不到任何让我在调用程序之前在 Batch 中选择数据库的内容。就在那时,我尝试了上面的链接,该链接拥有一个简单的命令行条目,您可以参加比赛,但事实并非如此。
如有任何帮助,我们将不胜感激。
最佳答案
这会起作用;
echo SET @usrCode = '0'; > params.sql
type params.sql caller.sql | mysql -u root dbname
关于mysql - 将参数从批处理文件传递到 MYSQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26597036/