将 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
选项中拼出的子查询中引用,与上面的示例完全相同。
在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
选项中拼出的子查询中引用,与上面的示例完全相同。