我正在尝试编写一个 shell 脚本,该脚本转储具有用户指定表前缀的所有表。以下是脚本的一部分:
variable=vardata
mysql -u user -p -N information_schema -e "SELECT table_name FROM tables WHERE table_schema = 'dbname' AND table_name LIKE 'test_$variable%'"
由于 SQL 语句中的硬引号,访问变量不能像这样工作,但我还能怎么做呢?我@var尝试了MySQL变量,但这似乎也不适用于LIKE运算符。
你可以尝试类似的东西
variable=vardata
sql_stmt="SELECT table_name FROM tables WHERE table_schema = 'dbname' AND table_name LIKE 'test_"$variable"%'"
mysql -u user -p -N information_schema -e "$sql_stmt"
希望这有效
更新:根据J.Doe的评论