我會繼續前進,我的後可怕的MySQL代碼更大:MySQL的更新,如果值小於該電流值
INSERT INTO monthlystats (id, server, time, uptime, players, rank)
VALUES (09126, 6, 0912, 302, 0, 1)
ON DUPLICATE KEY UPDATE uptime = if(302 > uptime, 302, uptime), if(0 > players, 0, players), if(1 > rank, 1, rank)
好了,讓我解釋什麼,我試圖做的。
- 「id」具有唯一索引。如果該索引不存在,我想插入這些值。
- 如果存在重複密鑰,我想改爲更新3個字段中的每一個,只有當新值大於當前表中的值時。
看起來我正在做一些非常錯誤的事情,而且我很坦率地不知道該怎麼做。我試圖把它做好,但事實證明這是一個可怕的混亂。
我希望有人能帶領我走向正確的方向,並幫助我學習(以及任何正在努力學習的人)如何做這樣的事情。謝謝。
所以,你沒那麼好了'uptime',重複它'players'和「排名」,它應該工作 – zerkms 2012-04-10 00:19:45
糟糕。一會兒。我明白你在說什麼,但我不認爲這是真正的問題。編輯:哦,我的天哪,那是問題!繼續並作出答覆。 – fruitcup 2012-04-10 00:20:48
和什麼是實際問題?我沒有在問題中看到 – zerkms 2012-04-10 00:23:31