我想在MySQL更新表是这样的:如何在MySQL更新查询中使用If Then?
UPDATE Table
SET A = '20' IF A > 20
SET A = A IF A < 20
SET A = 0 IF A <= 1
WHERE A IS NOT NULL;
但上面的SQL是无效的语法。我也试过这个:
UPDATE table
SET A = IF(A > 20, 20, IF(A < 20, A, 0));
但是也是无效的语法。如何在像这样的更新查询中使用if语句?
你不需要第二种情况。设置A = A什么都不做。在where子句中过滤,应该更快:'WHERE A NOT NOT NULL AND(A> 20 OR A <= 1)' – Andre 2012-03-15 15:43:21