我一直在创建网络应用程序,但我想创建一个计数器来跟踪查看的页面。所以,我想在mysql中创建一个计数器。
情景是这样的......
如果没有创建行, 创建行
如果创建了行, 设置柜台。
这可能吗?
或者我应该运行两个查询来执行此操作。
查询1:运行查询以选择不存在的表。如果它返回null, 它没有数据输入。
查询2:所以,使用计数器为其创建条目。
查询3:如果已经创建了数据,则递增计数器。
但有没有办法在一次调用mysql时执行此操作?
答案 0 :(得分:1)
我想你想要insert . . . on duplicate key update
。
因此,您有一个PagesViewed
表,其中包含某种页面标识符和一个计数器。你这样做:
insert into PagesViewed(pageid, counter)
select $pageid, 1
on duplicate key update counter = counter + 1;
这需要pagesviewed(pageid)
上的唯一索引。