![](/img/trans.png)
[英]MYSQL Query a table with a set condition and if a 2nd conidtion is met grab a row(s) from another table and continue
[英]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.