我有以下结构的表
id int auto increment, primary key
uid int (comment: userid)
cdt date/time (comment: current date)
hits int (comment: no. of hits)
现在,我需要一个查询,例如
对于'uid'和'cdt'的特定组合,如果有可用行,则更新命中(即,添加1到命中),否则添加带有'uid'和'cdt'值的新行,并点击设为1
让我用例子进一步澄清
说uid = 01,cdt = 2010-01-01,如果表中没有uid和cdt的组合,则应插入新行,否则应更新点击值
如何实现这一目标?
答案 0 :(得分:0)
您可以分两步完成此操作:
<强>首先强>
查询数据库以了解该特定记录是否存在:
SELECT id FROM your_table
WHERE uid = your_user_id AND cdt = your_date
<强>第二强>
如果先前的查询返回零行:
INSERT INTO your_table
(uid, cdt, hits)
SELECT your_user_id, your_date, 1
其他:
UPDATE your_table
SET hits = hits + 1
WHERE uid = your_user_id AND cdt = your_date