Update myTable SET field = 1 (if field = 0 or if field is null) where myid = 12345;
Update myTable SET field = 0 (if field = 1) where myid = 12345;
在适当的SQL中为Oracle和MySQL转换此Pseudocode的最佳方法是什么?
答案 0 :(得分:3)
你可以简单地使用这样的模数:
UPDATE myTable SET field = (field + 1) % 2 WHERE myId = 12345;
答案 1 :(得分:2)
由于DBMS中缺少真正的布尔值,您需要一个案例陈述:
update myTable
set the_column = case when the_column = 1 then 0 else 1 end
where myId = 12345;
这假设列的值永远不会超过0和1