【问题标题】:execute .sql file in bash with params使用参数在 bash 中执行 .sql 文件
【发布时间】:2014-12-10 05:29:07
【问题描述】:

我想在 bash 文件中执行 .sql 文件,但我需要将参数从 bash 文件传递​​给 .sql。我认为这是一个简单的解决方案,但我无法弄清楚。

这是我目前所拥有的:

.SQL 文件

SET @columnValue = &1;
UPDATE tblTest SET Description = @columnValue;

Bash 文件

#!/bin/bash
columnValue=$1
mysql -uroot -ppassword testDB < SQLscript.sql $columnValue

壳牌

sh myBashFile.sh "testColumnValue"

谁能告诉我我做错了什么?

【问题讨论】:

  • 你能告诉我们目前正在发生什么吗?

标签: mysql sql linux bash shell


【解决方案1】:

您需要先设置 SQL 参数,然后再加载 .sql 文件。

在您的 bash 脚本中,您可以使用 mysql-e 选项来执行 SQL 语句。然后必须使用相同的方法告诉 mysql 加载文件而不是使用 bash 读取它。

this example script

如果您只想执行单个语句,请参阅this question

【讨论】:

  • 您的解决方案运行良好,谢谢!! :) 因此,如果我理解正确,没有设置 mysql 变量就无法将参数传递给 .sql 文件?
  • 您可以生成一个 bash 脚本来替换 .sql 文件中的变量标记,然后再将其交给mysql。但是,我想这会使事情变得不必要地复杂化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-11
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-23
相关资源
最近更新 更多