我有一个INSERT查询,它向我的数据库表中提交一个新行。 但是,如果存在具有匹配的company_id和meta_key的行,我还希望能够用新的meta_value更新该行。 这可能与我的查询中的重复键有关吗?如果可以,如何处理? 如果没有,我有什么选择?
我的当前查询:
$wpdb->query(
$wpdb->prepare("INSERT INTO {$wpdb->prefix}pending_company_meta (company_id, meta_key, meta_value) VALUES ('%s', '%s', '%s')", $companyId, $key, $value)
);
这将是:
INSERT INTO {$wpdb->prefix}pending_company_meta (company_id, meta_key, meta_value)
VALUES ('%s', '%s', '%s')
ON DUPLICATE KEY UPDATE meta_value = VALUES(meta_value)
为此,您需要在(company_id,meta_key)
上有一个主键(或唯一键)约束。