用params执行bash中的.sql文件

Moe*_*nie 6 mysql sql linux bash shell

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

这是我到目前为止:

.SQL文件

SET @columnValue = &1;
UPDATE tblTest SET Description = @columnValue;
Run Code Online (Sandbox Code Playgroud)

Bash文件

#!/bin/bash
columnValue=$1
mysql -uroot -ppassword testDB < SQLscript.sql $columnValue
Run Code Online (Sandbox Code Playgroud)

贝壳

sh myBashFile.sh "testColumnValue"
Run Code Online (Sandbox Code Playgroud)

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

and*_*ndy 1

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

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

请参阅此示例脚本

如果您只想执行一条语句,请参阅此问题