从shell脚本执行的命令中的Mysql关键字

时间:2016-01-04 10:15:02

标签: mysql shell

我已经知道为了让Mysql理解一个关键字作为列名,我们应该添加回来。

我正在尝试从shell脚本

执行此命令
echo "ALTER TABLE   partners.partners CHANGE COLUMN `name` `client_name` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL" | $MYSQL

$MYSQL是我的数据库连接命令(适用于其他命令)。

我要做的是将名为name的colomn重命名为client_name但我收到此错误:

 ./test_script.sh: 1: ./test_script.sh: name: not found

如果我登录到mysql控制台,执行相同的操作,它完美地运行

之前有人碰到这个问题吗?

1 个答案:

答案 0 :(得分:2)

使用单引号来避免解释反向标记或`否则用于命令替换:

$MYSQL -e 'ALTER TABLE partners.partners CHANGE COLUMN `name` `client_name` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL'