当3列的值匹配时,ON DUPLICATE KEY更新

时间:2013-06-03 09:44:37

标签: php mysql

INSERT INTO statistics(classify, country, ads, year) 
VALUES (:classify, :country, 1, :year) 
ON DUPLICATE KEY UPDATE ads = ads + 1

我的查询使用ON DUPLICATE KEY,我将unique key设置为classifycountryyear

但是,只有当UPDATE所有3个用户输入的值相同时,我才需要classify && country && year

但当其中一个值匹配时,UPDATE为同一行

它变为classify || country || year

这就是我需要的

 UPDATE statistics SET ads = ads + 1 
    WHERE classify='$classify' && country='$country' && year='$year'

解决这个问题的方法是什么?

1 个答案:

答案 0 :(得分:0)

在(classify,country,year)

上创建一个唯一约束