我正在运行数据库日志,并且每天我都会登录一个新行。因此,我的 Mysql 查询会检查日期(日期(唯一键))是否已经存在,如果存在,它会尝试将日志行的所有可记录值加一。如果日期记录还没有出现,它将创建一个新行。
我的 SQL 查询是:
INSERT INTO `log` (`date`,`hits`,`stale`)
VALUES ('2012-03-06',1,1)
ON DUPLICATE KEY
UPDATE `hits`=`hits`+1,`stale`=`stale`+1
WHERE `date`='2012-03-06';"
所有列的默认值都为 0,因此如果此查询在午夜之后直接运行,则只有 'stale' 和 'hits' 设置为 1。否则 'stale' 和 'hits' 都会递增。
我希望!(它不起作用)。
我错过了什么?除了逗号之外,我应该在'hits' = 'hits' +1和'stale'='stale'+1之间使用哪个分隔符?