我試圖構建一個'新評論'功能,其中用戶顯示自上次訪問以來的新評論數。 我構建了一個包含主題ID,用戶ID和時間戳的「視圖」表。每次用戶訪問該主題或插入新行(如果不存在時),更新時間戳的最佳方式是什麼?目前我有:MySQL REPLACE rows WHERE字段a等於x且字段b等於y
REPLACE INTO Views (MemberID, TopicID, Visited)
SET ('$_SESSION[SESS_MEMBER_ID]', '$threadid', '$t')
WHERE MemberID = $_SESSION[SESS_MEMBER_ID] AND TopicID = $threadid
但是,這是行不通的。是否可以在一個查詢中做到這一點?
我試過第二個,它只是添加行而不是替換。我也嘗試過「在DUPLICATE KEY UPDATE MemberID ='$ _SESSION [SESS_MEMBER_ID]',TopicID ='$ threadid'」。 – Miles
@Miles:您需要將這兩個設置爲桌面上的組合唯一鍵。然後,如果嘗試插入具有相同唯一鍵的行,它將更新'Visited'的值而不是拋出錯誤。 – CanSpice