我可以使用单个查询更改 MULTIPLE TABLES 吗?如果是这样,那是什么样的正确语法?
我已经尝试过了:
ALTER TABLE tbl1 ADD (name VARCHAR (50), age DATETIME)
ALTER TABLE tbl2 ADD (name VARCHAR (50), age DATETIME)
答案 0 :(得分:3)
根据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