我正在为Wordpress Multisite安装数据库工作,需要将多个字段(但不是全部)从一个表复制到另一个表中,替换现有内容和/或添加行(如果它们不存在)。
其他地方也有类似的答案,但我似乎无法弄清楚这一点。
表是可源表和目标表
列是option_name和option_value
基本上,如果option_name field = condition1
出现在来自sourcetable的targettable copy 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)
感谢
答案 0 :(得分:0)
使option_name字段唯一,并使用INSERT...ON DUPLICATE KEY UPDATE语句在targettable
中插入/替换值 -
INSERT INTO targettable
SELECT * FROM sourcetable
ON DUPLICATE KEY UPDATE option_value = VALUES(option_value)