我每天將資料從 python 加載到 mysql 資料庫和表“temp_table”中。我想將其加入“total_table”,以便將新值添加到“total_table”
-----Temp-table-------
----------------------
| id | Price | Name |
---- ---------- ------
| 3 | 1.000 | C |
| 4 | 1.500 | D |
| 5 | 1.200 | E |
| 6 | 2.000 | F |
-----Total-table------
----------------------
| id | Price | Name |
---- ---------- ------
| 1 | 1.100 | A |
| 2 | 1.600 | B |
| 3 | 1.000 | C |
| 4 | 1.500 | D |
加入后的結果
-----Total-table------
----------------------
| id | Price | Name |
---- ---------- ------
| 1 | 1.100 | A |
| 2 | 1.600 | B |
| 3 | 1.000 | C |
| 4 | 1.500 | D |
| 5 | 1.200 | E |
| 6 | 2.000 | F |
我試過左連接。不要在 python 中出現任何錯誤,但我的總表沒有更新
SELECT * FROM total_table
LEFT JOIN
temp_table
ON total_table.id = temp_table.id
uj5u.com熱心網友回復:
嘿,我認為您正在尋找 UNION 運算子:
SELECT * FROM total_table
UNION
SELECT * FROM temp_table
uj5u.com熱心網友回復:
INSERT IGNORE INTO total_table
SELECT *
FROM temp_table
該IGNORE選項將使其跳過與 中temp_table的唯一鍵重復的行total_table。
uj5u.com熱心網友回復:
您可以執行UPSERT臨時資料。
通過INSERT ON DUPLICATE KEY UPDATE宣告。
請注意,目標表確實需要一個主鍵或唯一索引。
INSERT INTO total_table (id, Price, Name) SELECT id, Price, Name FROM temp_table tmp ON DUPLICATE KEY UPDATE Price = tmp.Price , Name = tmp.Name;
select * from total_table order by id;
| ID | 價格 | 名稱 |
|---|---|---|
| 1 | 1.100 | 一個 |
| 2 | 1.600 | 乙 |
| 3 | 1.000 | C |
| 4 | 1.500 | D |
| 5 | 1.200 | 乙 |
| 6 | 2.000 | F |
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422825.html
標籤:
