一次为不同的表运行相同的sql查询(bash脚本)

时间:2015-12-08 09:33:39

标签: mysql bash shell

我想使用来自Linux虚拟机终端的bash脚本一次向我的多个表中添加相同的列。我的数据库中有三个表:
my_usa_table 下,
my_india_table 下,
my_germany_table

我想一次为这三个表添加以下列。
ALTER TABLE my _ {$ i} 表ADD COLUMN状态VARCHAR(120)AFTER地址;
ALTER TABLE my
{$ i} 表ADD COLUMN zipcode VARCHAR(16)AFTER状态;
ALTER TABLE my
{$ i} _table ADD COLUMN语言VARCHAR(100)邮编之后;

这是我的bash脚本:

#!/bin/bash

declare -a country=("usa","india","germany")
for i in "${country[@]}"
do
    mysql -uroot -p testdb -e "ALTER TABLE my_{$i}_table ADD COLUMN state VARCHAR(120) AFTER address";
    mysql -uroot -p testdb -e "ALTER TABLE my_{$i}_table ADD COLUMN zipcode VARCHAR(16) AFTER state";
    mysql -uroot -p testdb -e "ALTER TABLE my_{$i}_table ADD COLUMN language VARCHAR(100) AFTER zipcode";

done

但它正在变得错误。我该怎么办呢?

1 个答案:

答案 0 :(得分:1)

尝试用my_{$i}_table

替换my_$i_table
相关问题