比如我只知道products表里面的一个字段:model号varchar  我想改这个model号。可以批量更新吗? sql语句怎么写

解决方案 »

  1.   

    update products set model='12121212' 
      

  2.   

    update products set model='实际model号' 
      

  3.   

    我的意思是这样的
      比如: 知道有model号(1、2、3)我想把model号用批量的改成model(01、02、03)
      

  4.   

    改单个直接用
    update products set products_model = '01' WHERE products_model = '1';就行了 我想用批量的
    看行不行
      

  5.   


    update products
    set modele=stuff(model,1,0,'0')
      

  6.   

    你这个估计不行吧。。Stuff(expression1_Str,startIndex,lengthInt,expression2_Str)函数共有四个参数,其功能是将expression1_Str中自startIndex位置起删除lengthInt个字符,然后将expression2插入到 expression1_Str中的startIndex位置。
      

  7.   

    update products set model=right('000'+model,2)--model为字符型
      

  8.   

    update products set model=right('000'+model,2) where len(model)<=2第100行当然不行了。。只是给你一个思路
    你是想每行加一个还是????
      

  9.   


    model 好像SQL不认识 是不是还要另外定义
      

  10.   

    UPDATE PRODUCTS SET MODEL='新号' WHERE MODEL=‘旧号’ 
      

  11.   

    这个sql语句我会写  我想要跟这个sql语句结构差不多的
    是要批量更改的
      比如select里面的in()这种
      

  12.   

    写个伪代码:UPDATE PRODUCTS SET MODEL = '0'+MODEL WHERE MODEL IN(SELECT MODEL FROM PRODUCTS WHERE RTRIM(MODEL).LENTH()=1)
      

  13.   

    ??update [Table] set [model]=right(1000000+[model],这里你要几位就给几位)
    where [model] in(1,2,3,4,5)
      

  14.   

    搞定了 还是用程序来实现就好多了 想了半天的sql没找到  估计按照我这些思路可能无法实现
    给大家分享下
    <?PHP   
      if(ini_get('max_execution_time')<>0)ini_set('max_execution_time',0);
      if (@ini_get('com.allow_dcom') != true) @ini_set('magic_quotes_sybase', true);
      $host="数据库服务器";
      $user="数据库用户名";
      $pwd="数据库密码";
      $db="数据库名";
      $tb="表名";
      $filename   =   "E:\AppServ\www\\球衣对应表.xls";   
      $sheet1   =   "sheet2";   
      $excel_app   =   new   COM("Excel.application")   or   Die   ("Did   not   connect");   
      $Workbook   =   $excel_app->Workbooks->Open("$filename")   or   Die("Did   not   open   $filename   $Workbook");   
      
      $con1=mysql_connect($host,$user,$pwd);
      $db_query=mysql_select_db($db,$con1); for($i=2;$i>0;$i++)
     {
      $Worksheet   =   $Workbook->Worksheets($sheet1);   
      $Worksheet->activate;   
      $excel_cell   =   $Worksheet->Range("A".$i);   
      $excel_cell->activate;   
      $excel_result1   =   $excel_cell->value;   
      
      $excel_cell   =   $Worksheet->Range("B".$i);   
      $excel_cell->activate;   
      $excel_result2   =   $excel_cell->value;  
      if($excel_result1<>""&&$excel_result2<>"")
      {
      $sql="update `".$tb."`  set `products_image` = '".$excel_result1."' WHERE `products_image` = '".$excel_result2."'";
          $query=mysql_query($sql);
      }else
      {
          break;
      }
     }
      
      #To   close   all   instances   of   excel:   
      $Workbook->Close;   
      unset($Worksheet);   
      unset($Workbook);   
      $excel_app->Workbooks->Close();   
      $excel_app->Quit();   
      unset($excel_app);  
       
      ?>   
    .xls文件里面一列存需要改的数据一列存新的数据
    思路跟这个差不多UPDATE PRODUCTS SET MODEL='新号' WHERE MODEL=‘旧号’ 就是用循环做了