Mysql删除超过10秒的记录

标签 mysql

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

我们先把这个说清楚

我有 table :

表1 表2 表3 表4

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

表1 --> 表2 --> 表3 --> 表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'

最佳答案

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

并记住在 DELETE 上设置 CASCADE 作为约束。

关于Mysql删除超过10秒的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38808537/

相关文章:

php - 如果 CSV MYSQL 不存在,则导入并更新或添加新行

mysql - 将 MySQL 5.5 升级到 8.0,查询得到不同的结果,需要帮助理解原因

mysql - 使用 R 在 mySQL 查询中发布增量日期字段

php - 我如何使用 mysql php 将数组值存储在数据库中

PHPLIST 在电子邮件中包含图像——没有外部来源

php - 数据库未正确存储希腊字符

mysql - 在MySQL中,JOIN意味着哪个连接执行..?

mysql - 数据库设计/SQL 优化 : WHERE <id> NOT IN (thousands of IDs)

python - Django管理命令mysql报错

php - Magento 错误 : SQLSTATE[HY000]: General error: 1