【问题标题】:Co-ordinated delete Mysql query协同删除Mysql查询
【发布时间】:2018-02-08 06:55:35
【问题描述】:

有人可以提供删除查询以删除以下 mysql 表及其引用表的旧记录(超过 5 天)吗? (所有引用表记录也需要删除,否则我的应用程序崩溃)

https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql/src/main/resources/mysql.sql

我不知道编写协调删除查询(在同一查询中删除多个表)

【问题讨论】:

  • 您应该查看ON CASCADE DELETE,这可能会大大简化您的问题。您使用的是 MyISAM 还是 InnoDB?
  • 创建外键
  • 我正在使用 InnoDB。我无法更改我的创建查询,因为它是一个包(开源库),我只需要编写删除查询

标签: mysql


【解决方案1】:

试试这个

DELETE t1,t2 FROM t1
        INNER JOIN
    t2 ON t2.ref = t1.id 
WHERE
    t1.id = 1;

希望对你有帮助。

【讨论】:

  • 谢谢 sumesh。会试一试
  • 当我们删除所有记录时,上面对表 zipkin_spans、zipkin_annotations(来自这些表 link)的查询很好!对于在某些天后删除记录,例如 WHERE FROM_UNIXTIME(zipkin_spans.start_ts/1000000)
  • 如何在 delete stmt @sumesh-tg 中添加额外的 where 条件
  • 先做选择查询然后去DELETE
  • 你能给我一个简单的查询例子吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-07
  • 2014-03-18
相关资源
最近更新 更多