更新如果存在,则插入两个唯一的列mysql

时间:2014-05-14 07:15:04

标签: mysql

这是我的专栏

id           - primary key
product_id   - unique key
customer_id  - unique key

这是我的查询

INSERT INTO ".DB_PREFIX."product_rating(product_id, customer_id, rate_value) values(123,25,2) on duplicate key update rate_value = 2

第一次在我第二次正确插入时,我从同一客户评价并使用不同的产品ID

INSERT INTO ".DB_PREFIX."product_rating(product_id, customer_id, rate_value) values(1213,25,3) on duplicate key update rate_value = 3

列rate_value从2更新为3,而不是插入新行。

我猜测,它仅为customer_id带来了独特的价值。正确?

1 个答案:

答案 0 :(得分:0)

试试这个

create table t(id int,product_id  int,customer_id  int,
               rate_value int,
UNIQUE KEY id_box_elements (product_id,customer_id ));