只有當新值較低時,纔想更新字段的值。我試過這樣,沒有成功mysql如何僅在新值低於現有值的情況下更新字段
UPDATE `editions` SET `editions`.`year` = MIN(`editions`.`year` , '2005') WHERE `editions`.`id` = 1;
我得到了1064錯誤。如何在不檢索值的情況下更新值?
只有當新值較低時,纔想更新字段的值。我試過這樣,沒有成功mysql如何僅在新值低於現有值的情況下更新字段
UPDATE `editions` SET `editions`.`year` = MIN(`editions`.`year` , '2005') WHERE `editions`.`id` = 1;
我得到了1064錯誤。如何在不檢索值的情況下更新值?
您是否嘗試過做這樣的:
update editions set year = 2005 where id = 1 and year > 2005;
(即限制選擇到行(S),你想更新)
UPDATE `editions`
SET `editions`.`year` =
LEAST(`editions`.`year` , '2005') WHERE `editions`.`id` = 1;
+1,因爲這就是我一直在尋找因爲,但馬特的答案是要走的路。謝謝 – kaklon
很明顯,我怎麼可能沒有想到這一點。謝謝 – kaklon