从一个表复制特定id的数据并粘贴另一个表的特定id

时间:2014-06-23 12:44:07

标签: mysql

我遇到了问题:我必须使用表examp1examp2。我想复制examp1 id=138的数据,并将其粘贴到examp2的另一个表id=5中。我试过这个

insert into examp1 (rates,publishPrice,name) 
 select rates,publishPrice,name from examp2 where id=138;

insert into examp1 (rates,publishPrice,name) where id=5 
 select rates,publishPrice,name from examp2 where id=138;`

但我在第二次查询中遇到问题。在第一个查询中,id = 138的数据被复制但不是特定的id。

1 个答案:

答案 0 :(得分:2)

如果5中不存在examp1的ID,您可能需要:

insert into examp2(id, rates, publishPrice, name)
    select 5, rates, publishPrice, name
    from examp1
    where id = 138;

如果id都存在,那么您需要更新:

update examp2 cross join
       (select e1.*
        from examp1 e1
        where id = 138
       ) e1
       on examp2.id = 5 
     set e2.rates = e1.rates,
         e2.publishPrice = e1.publishPrice,
         e2.name = e1.name;

或类似的东西,根据您的问题确实是什么。