簡體   English   中英

當滿足條件時,mysql從另一個表中替換表數據

[英]mysql replace table data from another table when condition is met

我正在為Wordpress Multisite安裝數據庫,需要將多個字段(但不是全部)從一個表復制到另一個表,替換現有內容和/或添加行(如果不存在)。

在其他地方也有類似的答案,但我似乎無法弄清楚。

表是源表和目標表

列是option_name和option_value

基本上,如果option_name field = condition1存在於targettable中,則從sourcetable復制option_value字段並替換targettable option_value字段,如果不存在,則添加它

想用一個查詢更新/替換多個字段

REPLACE or UPDATE option_value_field in targettable with data 
from sourcetable value_field 
where name_field equals "condition1"

REPLACE or UPDATE option_value_field in targettable with data 
from sourcetable value_field 
where name_field equals "condition2"

REPLACE or UPDATE option_value_field in targettable with data 
from sourcetable value_field
where name_field equals "condition3" (add if does not exist)

謝謝

使option_name字段唯一,並使用INSERT ... ON DUPLICATE KEY UPDATE語句在targettable插入/替換值-

INSERT INTO targettable
SELECT * FROM sourcetable
ON DUPLICATE KEY UPDATE option_value = VALUES(option_value)

暫無
暫無

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

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