我想传递的参数表名在MySQL命令行shell脚本是我的小shell脚本:通作为一个MySQL的命令行参数表名,在shell脚本
if [ "$1" != "" ]; then
mysql \
--user=genome \
--host=genome-mysql.cse.ucsc.edu \
-A -D hg38 \
-e 'desc' "$1" \
-B -N \
| awk 'BEGIN {ORS="\t"};{print $1}' | awk '{print "#"$0}'
else
echo "Error."
fi
所以,当我尝试运行我的脚本是这样的:
bash Script.sh tablename
它返回以下错误:
ERROR 1049 (42000): Unknown database 'tablename'
因此,F新事物为您自己的信息:
我有权访问数据库。
表存在于数据库中,当我在直接执行与该表名的命令。
我 “DESC $ 1”, '内容描述 “$ 1”', 'desc “的$ 1”' 可选地试过。 ..总是返回一个错误(错误1049或1064)。
awk下面的命令行不是问题的根源。
我也试过在Python 2.7与子,和它给完全相同的错误:
ERROR 1049(42000):未知的数据库 '表名'
我试图找到的一些帮助网页,也许,似乎MySQL不允许传递表名作为参数。
由于我有多个表迭代,我没有其他选择。
非常感谢您的帮助。
对不起,我忘了提,我也试过这个。它返回相同的错误: 错误1049(42000):未知的数据库'表名' –
最烦人的部分是错误返回消歧符号之间的数据库表。似乎MySQL无法克服我的参数是字符串的事实,并将其理解为引用的内容。 –
我刚试过,它对我很有用。我不知道为什么它不适合你。 – Barmar