使用公共字段

时间:2015-12-02 20:08:43

标签: mysql sql merge

关于此事有很多不同的帖子,但我无法找到我需要的答案。我希望这个问题是独一无二的。

我试图将所有数据从一个表追加到另一个表,而不创建新记录。第二个表中的数据实际上是第一个表中现有记录的一部分数据的子集。

例如: 我有桌子“SPK”。我想将SPK中的所有数据写入表“RCT”。我想要匹配的每个记录之间的公共字段是RegID,它在两个表中都是唯一的(即每个RCT记录只有一个SPK记录)。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,你的意思是将一个表中的列(称为SECOND)附加到另一个表(称之为FIRST)。

在这种情况下,这有效吗?

UPDATE 
    regcontactsTest
    JOIN 
    speakersTest 
    ON speakersTest.RegistrationID = regcontactsTest.RegistrationID
SET regcontactsTest.presentationtitle = speakersTest.presentationtitle

编辑:根据Mariadb语法更新了查询

答案 1 :(得分:0)

您需要使用JOIN。对于一般更新加入:

 update tab1 a 
   join tab2 b ON a.join_colA = b.join_colB  
   SET a.columnToUpdate = [something]

或换句话说:

update
  tab1 a 
  join tab2 b on ..
set a.field=...;