现有两张表,tb1和tb2,tb1是新表,tb2是老表。比较tb1有tb2没有的记录为tb2加上,两张表都有的记录但是值不同的以tb1为准。tb2有tb1没有的把tb2中的删除掉这个过程用sql语句怎么完成?

解决方案 »

  1.   


    drop table t2;
    create table t2 as t1;
      

  2.   

    日,楼主写得那么纠结,看了半天,你不就想把tb2表的数据搞得跟tb1表的数据一致吗?
    先把tb2表的数据全部删掉,然后把tb1表的数据复制到tb2就行了。比如说两个表都有col1、col2、col3。
    首先第一步,删除tb2的数据:delete from tb2;
    第二步,把tb1的数据拷贝到tb2:
    insert into tb2(col1,col2,col3)
             select col1,col2,col3
               from tb1;