【问题标题】:How to set a time period of 10 minutes in a MySQL如何在 MySQL 中设置 10 分钟的时间段
【发布时间】:2019-01-01 07:32:13
【问题描述】:

我有一个由 cronjob 运行的脚本,它需要在用户记录的时间前 10 分钟向用户发送消息通知(例如,用户记录的时间是 14:00:00,消息应该发送到13:50:00)

$my_base = mysqli_query($db,"
SELECT p.*
     , u.uUsername
     , u.name as userName
     , u.email as userEmail
     , u.lang 
  from my_table p
  JOIN my_table_User u 
    ON p.userId = u.userId 
 WHERE p.column_1 = 'my_table' 
   AND realized = 0 
   AND p.expiry_date = CURDATE() 
   AND p.expiry_time >= DATE_SUB(NOW(), INTERVAL 10 MINUTE
)") or die("Failed to fetch data");

【问题讨论】:

标签: mysql cron


【解决方案1】:

请按照此查询查找 10 分钟后的记录

SELECT username
FROM users
WHERE created_on BETWEEN NOW() + INTERVAL 0 MINUTE AND NOW() + INTERVAL 10 MINUTE

在你的情况下这应该可以工作

SELECT p.*, u.uUsername, u.name as userName, u.email as userEmail, u.lang 来自my_table p INNER JOIN my_table_User u ON p.userId = u.userId WHERE p.column_1 = 'my_table' AND 实现 = 0 AND p.expiry_date = CURDATE() 和 p.expiry_time BETWEEN NOW() + 间隔 0 分钟和现在() + 间隔 10 分钟

【讨论】:

  • 谢谢您的回复,但是我没有指定以下,需要脚本只在13:50:00到14:00:00这段时间执行,脚本可以'在指定值前后不被执行。使用您的解决方案,脚本在 14:00:00 之后执行。请帮忙,tnx!!!
  • 这部分应该满足你的时间要求,我相信 BETWEEN NOW() + INTERVAL 0 MINUTE AND NOW() + INTERVAL 10 MINUTE
猜你喜欢
  • 2015-07-05
  • 1970-01-01
  • 2013-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多