【问题标题】:Mysql Delete Record older than 10 secondMysql删除超过10秒的记录
【发布时间】:2016-08-06 20:44:22
【问题描述】:

大家好,我对这个查询感到沮丧,

让我们先说清楚

我有桌子:

表1 表2 表3 表4

每个表都与其他表有一些外键关系

table1 --> table2 --> table3 --> 表4

但只有 table3 有日期时间列

如果超过 10 秒,我如何从这些表中删除记录

我试试

DELETE FROM table1 WHERE timestamp < (NOW() - INTERVAL 1 SECOND)

DELETE FROM table2 WHERE timestamp < (NOW() - INTERVAL 1 SECOND)
DELETE FROM table3 WHERE timestamp < (NOW() - INTERVAL 1 SECOND)
DELETE FROM table4 WHERE timestamp < (NOW() - INTERVAL 1 SECOND)

但它的错误

Unknown column 'timestamp' in 'where clause'

【问题讨论】:

  • 也许ON DELETE CASCADE 会有所帮助?
  • 不要使用时间戳,它可能是保留关键字

标签: mysql


【解决方案1】:

DELETE FROM table1 JOIN table3 ON table1.constraint_field=table3.constraint_field WHERE timestamp &gt; (NOW() - INTERVAL 1 SECOND)

并且记得为约束设置 CASCADE on DELETE。

【讨论】:

    猜你喜欢
    • 2019-05-19
    • 1970-01-01
    • 2012-06-30
    • 2019-10-01
    • 2018-06-23
    • 2011-03-26
    • 2019-08-27
    • 2016-06-03
    • 2021-10-04
    相关资源
    最近更新 更多