簡體   English   中英

MYSQL - 更新另一個表中的多行

[英]MYSQL - UPDATE multiple rows from another table

我有2張桌子。 一個來自昨天(300k行),另一個來自今天,具有相同的行數,但數據在某些列中發生了變化。

這兩個表有大約120列。

我如何只更新更改。
我嘗試過使用刪除:

   delete from tableA
   where id in (select id from tableB)

但它太慢了。
也試過了

   update tableA inner join tableB
   on tableA.id=TableB.id

它沒有奏效。

在此輸入圖像描述

您必須在更新查詢中設置值才能獲得更改。

例:

update tableA inner join tableB on tableA.id=TableB.id
set tableA.col1=TableB.col1,
    tableA.col2=TableB.col2,
    tableA.col3=TableB.col3;

並且您還可以在where子句中添加更多條件,以使查詢在篩選記錄上運行。

從tableA中刪除其中的id(從tableB中選擇id)

而不是上面的查詢嘗試這個: -

Delete tableA from tableA left Join tableB ON  tableA.id = tableB.id where tableB.id IS NOT NULL;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM