有一表talbename有三字段id, name, value现按下列情况更新value值,
当value字段不为空值时,不更新value:
update tablename set name='$name' where id='$id';当value字段为空值时:
update tablename set name='$name', value='$value' where id='$id'; 如果把两种情况合并作一条语句,应该怎么写?MYSQL的.

解决方案 »

  1.   

    仅仅只用一条Update语句那是写不出来的.SQL毕竟不能算是编程语言.
    只能用两条语句了
      

  2.   

    update tablename set name='$name',value=if(value is null,'$value',value) where id='$id';
      

  3.   

    结帖,brisking提供方法有效,得分.update tablename set name='$name',value=if(value is null,'$value',value) where id='$id';
    以下方法也有效:update tablename set name='$name', value=CASE WHEN value IS NULL THEN '$value' ELSE value END where id='$id';