mysql - MySQL 3 分钟后发送消息
问题描述
在我的网站上,用户可以互相发送消息。可以私信。这些都托管在消息表中。 消息表
我想向该网站的每个新用户发送 1 条私人消息。为此,您只需在 _message 表中创建一个条目。
INSERT INTO message(from_user_id, to_user_id, text, created_at)
SELECT user.id, new.id, "selam", created_at FROM user WHERE username = "admin"
到目前为止一切顺利。但我希望这条消息在 2 分钟后发送给用户。我怎么能做到这一点。请给我一个代码示例。
简而言之;
我希望在用户注册到站点 2 分钟后将一个条目添加到 _message 表中。
我只能这样做。我无法向添加到 _user 表中的最后一个用户发送消息以在 3 分钟后转发。
CREATE EVENT message
ON SCHEDULE EVERY 1 MINUTE STARTS
DO
INSERT INTO message(from_user_id, to_user_id, text, created_at) SELECT user.id, new.id, "selam", created_at FROM user WHERE username = "admin"
解决方案
该user
表需要有一个包含帐户创建时间的列。然后,您可以在计划查询中测试该列。
您需要自行加入user
表,以便获取新用户和管理员用户的 ID。
CREATE EVENT message
ON SCHEDULE EVERY 1 MINUTE STARTS
DO
INSERT INTO message(from_user_id, to_user_id, text, created_at)
SELECT admin.id, new.id, "selam", UNIX_TIMESTAMP(NOW())
FROM user AS admin
CROSS JOIN user AS new
WHERE TIMESTAMPDIFF(MINUTE, NOW(), FROM_UNIXTIME(new.creation_time)) == 2
AND admin.username = "admin"
推荐阅读
- python - 替换熊猫系列中的值,其中要替换的元素包含要替换的元素的一部分
- openwrt - 使用 OpenWrt 的 Mesh 网络:客户端无法互相 ping
- ios - Swift:无法修改弹出窗口中的图像
- graph - 无法将属性添加到类 sna 的二分网络
- php - Laravel - 在电子邮件视图中获取电子邮件地址。
- arduino - 无法使用 SIM5320E 启动 HTTP 操作
- javascript - 如何将多个相似的功能合并为一个?
- python - PyInstaller 转换的 EXE 停止在 Python 3.6 64 位上工作
- php - 错误。无法连接到数据库:SQLSTATE[HYT00]
- c# - 生成电话号码变慢 c#