【发布时间】:2012-07-13 18:28:40
【问题描述】:
我想做以下事情。 根据另一个字段的值更新一个字段,例如
update table set if(fielda=1){fieldb=2 fieldc=3}else{fieldd=2 fielde=3}
我知道这不是有效的 mysql,但它是我描述问题的最佳方式。
【问题讨论】:
-
字段的值并不重要。如果 fielda=1 设置 datefielda=now() 否则 datefieldb=now()。我希望这更清楚。
-
我们使用的“技巧”是将值分配给所有这些列。在我们不想想要更改列的值的情况下,我们只需为其分配当前值。我们使用条件测试 (fielda=1) 来决定我们是分配一个新值,还是保持该值不变。这就是我们通常用来根据一些返回布尔值的逻辑测试有条件地更新列的模式。看我的回答。 juergen d 的回答也是如此。
标签: mysql sql conditional-statements