2015-09-06 109 views
0

我運行一個MySQL事件每秒,而在這種情況下,我想檢查是否有用戶已註冊了一定的時間。如果他們有,我想插入一個名爲「成就」的另一個表中的行。插入到表,其中一些在另一個表是真的

我將用戶的註冊日期作爲時間戳(整數)存儲在稱爲「用戶」的表中的稱爲「regtime」的字段中,並且我希望將檢查時間保持爲秒,所以我可以執行類似:

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

回答

0
INSERT INTO `achievements` 
    (`user_id`, `field1`, `field2`, `fieldX`) 
SELECT `id`, 'field1Value', 'field2Value', 'fieldXValue' 
FROM `users` 
WHERE (NOW() - `regtime`) > @certain_amount_of_seconds 
0

您可以使用下面的查詢:

INSERT INTO achievements (message, logtime, category) 
SELECT msg, UNIX_TIMESTAMP(), 'info' 
FROM user 
WHERE (UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(join_date)) > 360000 

在上面的查詢,我們有以下關鍵的事情:

味精 -這個字段是從用戶表。我們可以說user.msg
UNIX_TIMESTAMP() - 當前Unix時間戳
「信息」 - 這是將與每個條目插入一個恆定

相關問題