我现在要要修改一个表..名为stroage..表中有分别名为x1 x2 x3 x4这4列..请问用什么语句同时把x1 x2 x3 x4这4列中为1的数据改为0呢? 

解决方案 »

  1.   

    update 
      stroage
    set 
      x1=if(x1=1,0,x1),
      x2=if(x2=1,0,x2),
      x3=if(x3=1,0,x3),
      x4=if(x4=1,0,x4);
      

  2.   

    create table stroage
    (
    x1 int,
    x2 int,
    x3 int,
    x4 int
    );insert into stroage values(1,2,3,4);
    insert into stroage values(0,2,1,6);
    insert into stroage values(4,3,2,1);select * from stroage;
    /**
        x1      x2      x3    x4  
    ------  ------  ------  ------
         1       2       3       4
         0       2       1       6
         4       3       2       1
    **/update stroage
    set 
      x1=if(x1=1,0,x1),
      x2=if(x2=1,0,x2),
      x3=if(x3=1,0,x3),
      x4=if(x4=1,0,x4);select * from stroage;
    /**
        x1      x2      x3    x4  
    ------  ------  ------  ------
         0       2       3       4
         0       2       0       6
         4       3       2       0
    **/
    drop table stroage;
      

  3.   

    只能直接针对每一列来update,可以用case或if判断为1则更改为0。