2010-10-17 101 views
0

如何使用ON DUPLICATE KEY UPDATE插入到MySQL表中,以便如果该行已经退出行的某一列,则获取它的值加1。所以,如果我有两个标题为ip和count的列,则count列首先包含1,并在每个下一个UPDATE时增加它的值。我们可以在一个声明中这样做吗?如何使用ON DUPLICATE KEY UPDATE插入到MySQL表中?

回答

3
INSERT INTO table(ip,count) VALUES(ip,0) 
ON DUPLICATE KEY UPDATE count = count+1 

我认为它应该简单地工作。

0

鉴于两列,ipcount查询应该是这样的:

$ip = "10.1.1.1"; 

$query = "insert into `my_table` (`ip`, `count`) values ('$ip', 1) 
on duplicate key update count = count + 1"; 

这将每一个新的IP计数1开始,并增加现有数量,如果它已经存在。