如何在mysql中设置计数器?

时间:2015-07-02 02:10:15

标签: mysql web-applications

我一直在创建网络应用程序,但我想创建一个计数器来跟踪查看的页面。所以,我想在mysql中创建一个计数器。

情景是这样的......

如果没有创建行, 创建行

如果创建了行, 设置柜台。

这可能吗?

或者我应该运行两个查询来执行此操作。

查询1:运行查询以选择不存在的表。如果它返回null, 它没有数据输入。

查询2:所以,使用计数器为其创建条目。

查询3:如果已经创建了数据,则递增计数器。

但有没有办法在一次调用mysql时执行此操作?

1 个答案:

答案 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)上的唯一索引。