我可以使用单个查询更改多个表吗?如果是这样,那么正确的语法是什么?
我已经尝试过:
ALTER TABLE tbl1 ADD (name VARCHAR (50), age DATETIME)
ALTER TABLE tbl2 ADD (name VARCHAR (50), age DATETIME)
最佳答案
根据MySQL doco,alter table
仅允许您一次更改一个表:
ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
[alter_specification [, alter_specification] ...]
[partition_options]
那里没有提供多个
TABLE tbl_name
子句的条件,因此您需要两个不同的alter table
命令。当然,如果您使用外部工具(如
bash
)运行命令,则不会阻止您执行以下操作:for tbl in tbl1 tbl2 ; do
mysql --user=pax \
--password=never_you_mind \
--execute="alter table ${tbl} add (name varchar(50), age datetime)"
done
关于mysql - 使用单个查询更改多个表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23927913/