我有一个包含各种参数的表。表的结构是:id、object_id、param_name、param_value
以下代码有效,但它附加结果而不是更新它们。事实是我不能使用ON DUPLICATE KEY因为我的字段是非唯一的(当然除了id)
INSERT INTO `params_table` (`object_id`, `param_name`, `param_value`)
SELECT
A.id AS my_object_id,
'XYZ' AS my_param_name,
IF(TMP.abc IS NULL,0,1) AS my_param_value
FROM
ref_table AS A
LEFT JOIN tmp_table AS TMP ON TMP.abc = A.abc
ON DUPLICATE KEY
UPDATE `param_value` = IF(TMP.abc IS NULL,0,1);