将 MySQL 查询转换为 Percona pt-archiver 字符串

Turn MySQL query into Percona pt-archiver string

在pt-archiver中如何表达?

DELETE * FROM Table1 JOIN ON Table1.id=Table2.id WHERE Table2.id>=1;

我找不到在 pt-archiver 字符串中加入 Table1 和 Table2 的任何可能性。我试过了,但是缺少 Table2 的连接字符串:

pt-archiver --source h=127.0.0.1,D=db,t=Table1 --purge --where 'Table2.id >= 1'

请提供一些您的想法。

我已经完成了您所描述的任务,其中我使用 pt-archiver 来存档还必须连接到另一个行的行 table。

pt-archiver --source h=host,D=db,t=child --purge \ 
--where 'EXISTS(SELECT * FROM parent WHERE col=child.col AND child.col>=1)'. 

This could work, but I am not confident how and where the parent table is to be declared. Some ideas?

您在 pt-archiver 的源 DSN 中声明了一个 table。即本例中的 child table。

您没有在 pt-archiver 选项中声明 parent table。它仅在您在 --where 选项中拼出的子查询中引用,与上面的示例完全相同。