【问题标题】:How to set counter in mysql?如何在mysql中设置计数器?
【发布时间】:2015-07-02 02:10:15
【问题描述】:

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

场景是这样的..

如果没有创建行, 创建行

如果创建了行, 设置计数器。

这可能吗?

或者我应该运行两个查询来这样做。

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

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

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

但是有没有办法在一次调用 mysql 时做到这一点?

【问题讨论】:

    标签: mysql web-applications


    【解决方案1】:

    我想你想要insert . . . on duplicate key update

    所以,您有一个带有某种页面标识符和计数器的PagesViewed 表。你这样做:

    insert into PagesViewed(pageid, counter)
         select $pageid, 1
         on duplicate key update counter = counter + 1;
    

    这需要pagesviewed(pageid) 上的唯一索引。

    【讨论】:

    • 这并不能解决我的问题。我的问题是 1. 如果没有输入,请创建条目。 2.如果条目存在,通过计数器更新它!
    • @Rockink 。 . .嗯。这正是这个逻辑的作用。因此,尚不清楚这如何不能解决问题。我注意到您在问题中说“增量”,但在评论中说“通过计数器更新”。
    猜你喜欢
    • 1970-01-01
    • 2017-11-04
    • 2013-05-02
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 2010-10-02
    • 2021-09-22
    • 2011-06-03
    相关资源
    最近更新 更多