插入表中另一个表中的某些内容为真

时间:2015-09-06 01:51:26

标签: mysql

我每秒都在运行一个MySQL事件,在这种情况下,我想检查是否有任何用户注册了一段时间。如果有,我想在另一个名为" achievement"。

的表中插入一行

我将用户的注册日期存储为名为call" regtime"的字段中的时间戳(整数)。在一个名为" users"的表中,我希望将检查保持为秒,所以我可以做类似的事情:

if time now - regtime (total time registered) = certain amount of seconds, insert row into achievements

2 个答案:

答案 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' - 这是一个将与每个条目一起插入的常量