我有一個關於MySQL查詢的問題。我會(顯然)喜歡儘可能少地使用這個查詢,並希望只有一個。我想要做的是更新數據庫中的一列,如果信息不同。MySQL更新字段不同
例如,假設我有「referer」列和「date」列。如果用戶點擊鏈接並且引用者不同但日期相同,我只想更新引用者列。
這是我當前的查詢:
mysql_query ("
UPDATE clicks
SET
clicks = clicks + 1
, referers = CONCAT(referers, ',$referer')
, dates = CONCAT(dates, ',$date')
WHERE shortURL = '$url'
AND referer != $referer
");
有什麼辦法上班到一個查詢呢?
除了查詢之外,日期不可能相同,時間正在運行! – 2012-04-14 19:48:50
爲什麼你在'referers'和'dates'列中存儲多個值?這是效率低下的,因爲這些列對於具有大量點擊次數的頁面將保持巨大的字符串。這也使得找出特定日期的頂級推薦人或最多點擊的頁面更加困難。 – 2012-04-14 19:50:47
因此,爲每次點擊創建一個新行會更有效率? – Lukas 2012-04-14 20:00:51