如何在mysql中将3列从一个表复制到另一个表中

如何在mysql中将3列从一个表复制到另一个表中,mysql,database,Mysql,Database,我有两个表,都包括两列,sureness和Kindence,它们通过dataitemID和id相互关联。为了向您展示结构,我将放置我从数据库中获得的两个选择: SELECT ID,sureness,kindness FROM omid.tweet ; SELECT ID,DataitemID,sureness,kindness FROM omid.entity_epoch_data ; 我想把omid.tweet中所有的确定和善意的值复制到实体的epoch数据中,其中实体的epoch数据等

我有两个表,都包括两列,sureness和Kindence,它们通过dataitemID和id相互关联。为了向您展示结构,我将放置我从数据库中获得的两个选择:

SELECT ID,sureness,kindness FROM omid.tweet  ;

SELECT ID,DataitemID,sureness,kindness FROM omid.entity_epoch_data ;
我想把omid.tweet中所有的确定和善意的值复制到实体的epoch数据中,其中实体的epoch数据等于来自实体关系的entityID,其中tweet.ID=实体的epoch关系

我只想在mysql中完成,而不是用java读取整个表并在循环中更新数据库,但我太困惑了。我该怎么做呢?我感谢你的帮助:)

更新:

我编写了如下代码,但它不起作用:

update tweet, entity_epoch_data
set entity_epoch_data.sureness= tweet.sureness,
entity_epoch_data.kindness = tweet.kindness ,
entity_epoch_data.calmness = tweet.calmness ,
entity_epoch_data.happiness = tweet.happiness 
WHERE entity_epoch_data.EntityID in(
SELECT EntityID FROM omid.entity_dataitem_relation
INNER JOIN omid.tweet t ON entity_dataitem_relation.DataitemID = t.ID)

这其实很直截了当。UPDATE子句的工作方式类似于连接,然后使用SET来设置值

UPDATE tweet INNER JOIN entity_epoch_data
      ON tweet.id = entity_epoch_data.id    
SET entity_epoch_data.sureness= tweet.sureness,
    entity_epoch_data.kindness = tweet.kindness 

非常感谢您的指导,我运行了代码,并理解我需要上面的更新情况。你能告诉我上述场景的更新查询是什么样子的吗?你需要使用连接子句,例如tweet.id=entity\u epoch\u data.id上的tweet内部连接实体\u epoch\u数据,或者更改where子句来添加连接。e、 g.
其中tweet.id=entity\u epoch\u data.id和entity\u epoch\u data.dataitemtype=3和entity\u epoch\u data.EntityID=86