mysql INSERT ... ON DUPLICATE KEY UPDATE语句在perl下的使用
时间:2010-11-12 来源:神龙升空
如果主键冲突则自动执行更新语句。
例句如下:
CREATE TABLE ipstat(ip int UNSIGNED NOT NULL PRIMARY KEY,
hits int UNSIGNED NOT NULL,
last_hit timestamp);
INSERT INTO ipstat VALUES(inet_aton('192.168.0.1'),1,now())
ON duplicate KEY UPDATE hits=hits+1;
当我们在c#中执行该语句时一般会通过绑定的方式传递参数
SQL:INSERT INTO ipstat VALUES(?ip_address,?num,now())
ON duplicate KEY UPDATE hits=hits+?num;
C#:
dins.SetParameter("?ip_address", ip_address);
dins.SetParameter("?num", num);
最近在perl中使用该语句时发现需要这样写
SQL:INSERT INTO ipstat VALUES(?ip_address,?num,now())
ON duplicate KEY UPDATE hits=hits+VALUES(hits);
perl:
database::Execute($ip_address, $num);
c#和perl完全不一样,所以记录下来以作提醒
相关阅读 更多 +