我正在写一个mysql工作台。我想用单个查询更新表和列。我需要使用嵌套查询还是我想要做的事情是不可能的?
ALTER TABLE MyTable CHANGE id id2 int; // works
ALTER TABLE MyTable TO|RENAME MyTable2 CHANGE id id2 int; // fails
是的。您可以在一个 ALTER TABLE 语句中进行多项更改。
语法参考显示:
ALTER TABLE tbl_name [alter_option [, alter_option] ...] [partition_options]
注意可选的附加
alter_option
以逗号分隔。
演示:
mysql> create table mytable (id serial primary key, x int);
Query OK, 0 rows affected (0.01 sec)
mysql> alter table mytable rename column x to y, rename as myothertable;
Query OK, 0 rows affected (0.01 sec)