Mysql使用匹配valus将一个表列数据插入或更新到另一个表

时间:2016-02-19 10:47:58

标签: php mysql

我对Mysql有点新鲜,我的问题是,如何将 Table_1 列数据更新或插入 Table_2 列数据并匹配相关的ID' s来自 Table_1

对于例如。

          Table_1                       Table_2                      

        rand  | cpn                   rand   |  cpn     
         1        4                     2        0
         2        7                     3        0
         3        2                     5        0
         4        1                     1        0
         5        7                     4        0

上面提到的表是我表的当前结构,我的输出应该是这样的,

      Table_2

   rand   |  cpn     
     2        7
     3        2
     5        7
     1        4
     4        1 

我想匹配 table_1 中的ID并在 table_2 中更新,相应地提前感谢:)

4 个答案:

答案 0 :(得分:1)

这应该有效:

update table2 t2 set cpn = (select cpn from table1 where rand = t2.rand)

答案 1 :(得分:0)

嗯,您应该JOIN表格,以便您可以使用这些值,如下所示:

UPDATE Table_2 t2 
LEFT JOIN Table_1 t1 on t2.rand = t1.rand
SET t2.cpn = t1.cpn;

答案 2 :(得分:0)

在mysql中,您可以在更新中使用联接来获得预期结果:

update table2 t2 inner join table1 t1 on t2.rand=t1.rand
set t2.cpn=t1.cpn 

答案 3 :(得分:0)

你可以用它。它INSERT或UPDATE记录。您只需在兰特上拥有唯一的INDEX或PRIMARY KEY。

<label>
  <input type="radio" name="term" value="30"  />
  <div class="background"></div>
  <b>30 days</b>
</label>

<label>
  <input type="radio" name="term" value="30" checked />
  <div class="background"></div>
  <b>30 days</b>
</label>

<强>样品

INSERT INTO Table_2
 (SELECT * FROM Table_1 )
 ON DUPLICATE KEY UPDATE cpn = VALUES(cpn);