我每秒都在运行一个MySQL事件,在这种情况下,我想检查是否有任何用户注册了一段时间。如果有,我想在另一个名为" achievement"。
的表中插入一行我将用户的注册日期存储为名为call" regtime"的字段中的时间戳(整数)。在一个名为" users"的表中,我希望将检查保持为秒,所以我可以做类似的事情:
if time now - regtime (total time registered) = certain amount of seconds, insert row into achievements
答案 0 :(得分:0)
INSERT INTO `achievements`
(`user_id`, `field1`, `field2`, `fieldX`)
SELECT `id`, 'field1Value', 'field2Value', 'fieldXValue'
FROM `users`
WHERE (NOW() - `regtime`) > @certain_amount_of_seconds
答案 1 :(得分:0)
您可以使用以下查询:
INSERT INTO achievements (message, logtime, category)
SELECT msg, UNIX_TIMESTAMP(), 'info'
FROM user
WHERE (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(join_date)) > 360000
在上面的查询中,我们有以下关键内容:
msg - 此字段来自用户表。我们可以说user.msg
UNIX_TIMESTAMP() - 当前的unix时间戳
' info' - 这是一个将与每个条目一起插入的常量