我有以下脚本,它在分配给员工的每个数据库中从Employee表中获取员工ID,并更改相应数据库中的EmployeeLedger_ $ empId表
cls_ip="localhost";
mysql="mysql -h $cls_ip -u root"
list=`echo "show databases like '$dbPattern'" | $mysql| grep -v Database`
for db in $list
do
echo "altering EmployeeLedger table for database $db";
${mysql} ${db} -e "use $db";
empId=`${mysql} ${db} -e "select EMPID from Employee"`;
echo "$empId";
${mysql} ${db} -e "alter table concat('EmpTimeLedger',$empId) add column HOLIDAY tinyint(1) not null default 1;";
done
这里我没有成功将从Employee表中检索到的员工ID与EmplyeeLedger连接起来形成EmployeeLedger_ $ empId表。我该怎么做?
答案 0 :(得分:1)
我认为最简单的方法是简单地将empId
连接到您的表名称:
table="EmpTimeLedger_$empId";
然后你会像这样改变你的表:
ALTER TABLE $table
ADD COLUMN HOLIDAY TINYINT(1) NOT NULL DEFAULT 1;
答案 1 :(得分:0)
为什么不尝试像这样的手动字符串连接
富= “EmpTimeLedger” FOO + = $ EMPID
$ {mysql} $ {db} -e“alter table $ foo add column HOLIDAY tinyint(1)not null default 1;”