Mysql Percona Toolkit在线模式更改:是否可以同时添加多个列?

Mysql Percona Toolkit在线模式更改:是否可以同时添加多个列?,mysql,sql,database-schema,percona,Mysql,Sql,Database Schema,Percona,有人知道使用Percona的pt online schema change for MySQL是否可以一次添加多个列吗?为了一次添加多个列,我尝试了我能想到的所有变体。这似乎是你应该能够做到的,但我在网上找不到任何证据证明你可以做到,我也找不到语法。下面是我尝试过的一些语句,让您了解我尝试过的内容(出于明显的原因,用户名和密码被编辑掉) 报表1: pt-online-schema-change --print --progress time,5 --max-load Threads_ru

有人知道使用Percona的pt online schema change for MySQL是否可以一次添加多个列吗?为了一次添加多个列,我尝试了我能想到的所有变体。这似乎是你应该能够做到的,但我在网上找不到任何证据证明你可以做到,我也找不到语法。下面是我尝试过的一些语句,让您了解我尝试过的内容(出于明显的原因,用户名和密码被编辑掉)

报表1:

    pt-online-schema-change --print --progress time,5 --max-load Threads_running=1000 
--critical-load Threads_running=10000 --chunk-time 5 --set-vars "innodb_lock_wait_timeout=600" 
--nocheck-plan --execute -h webdb -u xxxx --p xxxx --alter "ADD first_seen datetime NOT NULL 
DEFAULT 0, last_seen datetime NOT NULL DEFAULT 0 AFTER days_running"  D=mydata,t=mytable
报表2:

    pt-online-schema-change --print --progress time,5 --max-load Threads_running=1000 
--critical-load Threads_running=10000 --chunk-time 5 --set-vars "innodb_lock_wait_timeout=600" 
--nocheck-plan --execute -h webdb -u xxxx --p xxxx --alter "ADD first_seen datetime NOT NULL 
DEFAULT 0, ADD last_seen datetime NOT NULL DEFAULT 0 AFTER days_running"  D=mydata,t=mytable
报表3:

 pt-online-schema-change --print --progress time,5 --max-load Threads_running=1000 
--critical-load Threads_running=10000 --chunk-time 5 --set-vars "innodb_lock_wait_timeout=600" 
--nocheck-plan --execute -h webdb -u xxxx --p xxxx --alter "ADD first_seen datetime NOT NULL 
DEFAULT 0 AFTER days_running, ADD last_seen datetime NOT NULL DEFAULT 0 AFTER days_running"  
D=mydata,t=mytable
等等。基本上,我已经尝试了所有我能想到的ADD first_seen datetime NOT NULL的变体 默认值0,添加最后一次看到的日期时间不为空默认值0在运行天之后(移动/删除之后,移动/删除添加,移动/删除逗号,等等)

根据这是可能的,只需用逗号分隔语句。引用手册的
--alter
部分:

--改变

在您的情况下,这个
--alter
应该可以工作(假设您的其余语句是正确的):


谢谢。我再试试……我发誓我已经试过了。不管怎样,谢谢。
type: string

The schema modification, without the ALTER TABLE keywords. You can perform 
multiple modifications to the table by specifying them with commas. Please 
refer to the MySQL manual for the syntax of ALTER TABLE.
--alter "ADD first_seen datetime NOT NULL DEFAULT 0, ADD last_seen datetime NOT NULL DEFAULT 0 AFTER days_running"