mysql - Mysql 删除和时间戳
问题描述
我正在寻找有关 MySQL 的一些帮助,非常简单的问题,但确实让我的大脑崩溃了一段时间。
我有一个名为“日志”的表,它有“日期”的东西,即时间戳的 INT(11),因此,它使用实际的时间戳。
我要制作一个每分钟执行一个 SQL 命令的脚本,检查所有行,如果“日期”超过/等于 6 小时,我太累了,没有任何帮助。
我使用的一些命令不起作用。
DELETE FROM logs WHERE date < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 6 HOUR));
DELETE FROM logs WHERE date < NOW() - INTERVAL 6 HOUR;
不会帮助,所以,我在这里问你是否可以帮助我,谢谢。
解决方案
您的日期列必须是类型 TIMESTAMP而不是 INT 以便能够正确地相互比较时间戳,或者您可以编写:
DELETE FROM logs WHERE FROM_UNIXTIME(date) < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 6 HOUR));
推荐阅读
- python - 使用 selenium (Python) 实现 Instagram 自动化 - 关注和取消关注按钮
- cucumber - 无法在 serenity bdd 中并行执行测试用例
- flutter - 如何在 Flutter 的 material_tag_editor 中使用 'Enter' 作为分隔符
- flutter - Flutter Repaint 边界重绘规则
- javascript - JS 函数适用于所有浏览器但并非所有机器
- php - PHP数组到XML cdata
- node.js - 在 Nodejs 中使用 liquibase
- java - 带有 CardView 和 Firebase 的片段中的 RecyclerView
- python - 重新排序 numpy 矩阵以与数据框中的 id 对齐
- java - 为什么 CopyOnWriteArrayList 或 synchronizedList() 上的 read before write 操作会导致不一致?