提问者:小点点

如何在wpdb查询中使用重复键


我有一个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)
);

共1个答案

匿名用户

这将是:

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)上有一个主键(或唯一键)约束。