我有這個表:如何在插入前計算一些東西?
// cookies
+---------+-------------------------+------------------+------------+
| id | email | cookie | date_time |
+---------+-------------------------+------------------+------------+
| int(11) | varchar(50) | varchar(128) | int(11) |
+---------+-------------------------+------------------+------------+
| 1 | [email protected] | ojer0f934mf2... | 1467204523 |
| 2 | [email protected] | ko4398f43043... | 1467205521 |
| 3 | [email protected] | 34fjkg3j438t... | 1467205601 |
| 4 | [email protected] | 0243hfd348i4... | 1467206039 |
+---------+-------------------------+------------------+------------+
這裏是我的查詢:
INSERT INTO cookies VALUES(NULL, $email, $hash, unix_timestamp())
現在我需要在插入之前先檢查以下條件:
行的(對數特定用戶)應小於:
5
每小時10
每天50
每月100
佔總
我可以檢查最後一種情況:
INSERT INTO cookies(id, email, cookie, date_time)
SELECT NULL, $email, $hash, unix_timestamp()
FROM cookie
WHERE email = $email AND
100 >= (SELECT count(1) FROM cookies WHERE email = $email)
好,我怎麼能廣告其他條件?
'id'是否對應一個唯一的用戶? –
你可以使用存儲過程,並且你可以處理這個 –
@vkp'id'列是PK *(所以它是唯一的)*。但是'email'列不是唯一的。 – stack