我想在我的 Linux 虚拟机终端中使用 bash 脚本一次将相同的列添加到我的多个表中。我的数据库中有三个表:
my_usa_table,
my_india_table,
my_germany_table
我想一次为这三个表添加以下列。
ALTER TABLE my_{$i}table ADD COLUMN state VARCHAR(120) AFTER address;
ALTER TABLE my{$i}table ADD COLUMN zipcode VARCHAR(16) AFTER state;
ALTER TABLE my{$i}_table ADD COLUMN language VARCHAR(100) AFTER zipcode;
这是我的 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
但是出现错误。请问我该如何解决?
最佳答案
尝试用这个 my_$i_table
替换 my_{$i}_table
关于mysql - 一次对不同的表运行相同的 sql 查询(bash 脚本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34152335/