更新查询以更改值

时间:2012-06-10 10:20:09

标签: mysql sql

我有一个列col_name的表,其数据类型为tinyint,它只能存储0或1.现在我想运行更新查询,如果col_name值为0,则将col_name值从0更改为1,否则反之亦然.Suggest不同的想法? 我当前的查询无效但没有任何错误

UPDATE table SET col_name=case when col_name=0 then col_name=1 else col_name=0 end

4 个答案:

答案 0 :(得分:2)

UPDATE the_table 
SET col_name = 1 - col_name
WHERE 1=1
    ;

答案 1 :(得分:1)

试试这个:

UPDATE table 
SET col_name = 
    case when col_name = 0 
         then 1  
         else  0 
    end

答案 2 :(得分:0)

UPDATE table SET col_name=case when col_name=0 then 1 else 0 end

您也可以

UPDATE table SET CASE col_name WHEN 0 THEN 1 ELSE 0 END CASE

您只需指定数字

即可

Case Statement Reference

答案 3 :(得分:0)

尝试使用

update updation
set digits = decode(digits, 1, 0, 0, 1, digits)

其中updation是表的名称,digits是列的名称