我想運行一個查詢,看起來像這樣:加入與重複不按預期工作
$DB->query("INSERT INTO table (
SELECT s.value1, s.value2, s.value3, t.value1, u.value1, u.value2, u.value3, u.value4
FROM aTable AS s
LEFT JOIN aTable2 AS u ON u.uID = s.uid
WHERE u.spent < ". $needed ."
GROUP BY s.uid, s.fid)
ON DUPLICATE KEY UPDATE
value1 = VALUES(u.value1),
value2 = VALUES(u.value2),
value3 = VALUES(u.value3),
value4 = VALUES(u.value4);
");
然而,這將返回錯誤:
Unknown column 'u.value1' in 'field list'
請注意,這是第一次我在這個級別上使用MySQL,所以我不知道DUPLICATE KEY UPDATE
函數是如何工作的...
我對錶做的意圖是像緩存,因爲信息是從一些非常大的表格
參見[文件](http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html )爲正確的語法。 – Sumurai8
我看過文檔,但我簡直不明白。 – PeaceDealer