tab1和tab2中有几个相同的字段,例如userid,name,age,现在要将tab1中的name,age更新到tab2中相同userid的name,age字段中,请问sql语句该怎样写?

解决方案 »

  1.   


    技术不好,写的很复杂
    [code=SQL]update `tab2` set name=(select name from tab1 where tab2.userid=tab1.userid),age=(select age from tab1 where tab2.userid=tab1.userid) where tab2.userid in (select userid from tab1);[code]
      

  2.   

    这样行吗?update tab2
    set name=tab1.name,age=tab1.age
    from tab2,tab1
    where tab2.userid=tab1.userid
      

  3.   


    update tab1,tab2 set tab2.name = tab1.name, tab2.age = tab1.age where tab1.userid = tab2.userid;
      

  4.   

    MYSQL 当然支持FROM 语句。
      

  5.   

    看戏的: 那么
    update tab2
    set name=tab1.name,age=tab1.age
    from tab2,tab1
    where tab2.userid=tab1.userid
    这样的方法可以么? (在SQLServer中是这样的)
      

  6.   

    MYSQL支持Fromupdate tab1,tab2 set tab2.name = tab1.name, tab2.age = tab1.age where tab1.userid = tab2.userid;--或update tab1 inner join tab2 on tab1.userid = tab2.userid
        set tab2.name = tab1.name, tab2.age = tab1.age