mysql - MYSQL DATETIME 列上的条件未按预期工作
问题描述
我对 MySQL 没有太多经验,所以不确定是 MySQL 还是我的代码有问题。
我有一个表可以说它data
有一个created_at
DATETIME 类型的列。该表每秒获得 20-30 条新记录,根本没有更新。
我有一个每 15 分钟运行一次的 Cron 作业,并尝试获取过去 15 分钟内创建的所有记录。
如果它在上午 10:15:06 运行并且最后一次运行是在 10:00:03,它会进行以下查询:
SELECT * FROM `data` WHERE (created_at >= '2021-07-30T10:00:03Z' AND created_at < '2021-07-30T10:15:06Z')
当前时间不包括在内,因此created_at < current_time
.
但问题是,有时我会收到重复数据错误。也就是说,它包含来自 current_time 的一些数据行,这些数据行应该被排除在外。
就像在这种情况下,如果在 10:15:06 插入了 15 条记录,则查询结果中可能包含 4-5 条记录。但它并非每次都发生。
我正在使用 Golang,目前,我使用time.Now()
. 这可能是因为毫秒还是其他原因?我不会进行超过 1 个数据库查询,所以我认为如果我有额外的记录,它必须对 DB 做一些事情。
解决方案
推荐阅读
- firebase - 在不丢失当前状态(登录用户)的情况下创建多个用户凭据 Firebase Flutter
- python - Python 多函数并行执行
- python - 如何将不返回任何特定值的函数组合到一个类中
- reactjs - 如果id匹配react hooks或react或react-native,如何将对象和对象数组附加到单个数组中
- python-3.x - Gunicorn 在 docker GPU 运行时上运行
- python - 为什么我的 Tensorflow 训练无限期挂起,没有错误?
- html - 如何将图像从不同的文件夹添加到 HTML
- reactjs - 有没有办法让 npx 在我的计算机上创建一个 React 应用程序?
- python - 由于 matplotlib,pdpbox 无法安装
- javascript - 我如何在内联元素函数调用中附加 event.stopPropogation()