假如我有此表:  人名
姓 | 名
---------
刘 | 一手
---------
刘 | 如果我执行:
update 人名 set 名=‘二手’where 姓=‘刘’
的话,表里的两个人是不是都会被我把名字改成二手?
如果我只想更改没有名字的那个人要怎么写?sql

解决方案 »

  1.   

    1.两个人都满足where条件,所以都会改成二手。
    2.只改没名的,where条件改为;where 姓=‘刘’and 名='',如果名字段没有填写任何内容,where条件应该是where 姓=‘刘’and 名 is null
      

  2.   

    where 姓='刘' and 名 =''
      

  3.   

    初学SQL的UPDATE可以这样
    不确定会不会UPDATE到别的行时,那么先用UPDATE的WHERE条件SELECT一下,看看查询出来的结果集是不是你设想UPDATE的行
    比如你这个就是先执行SELECT * FROM 人名 WHERE 姓='刘'和SELECT * FROM 人名 WHERE 姓='刘' AND ISNULL(名,'')=''查询下然后再去UPDATE
      

  4.   

    UPDATE TB
    SET 名='二手'
    where 姓='刘' and isnull(名,'')=''