dongyouji7022 2010-08-14 05:39
浏览 84
已采纳

使用PHP确保添加到MySQL表的唯一性

I'm trying to create a page that tracks some basic user statistics in a database. I'm starting small, by trying to keep track of how many people come using what User Agent, but I've come across a stumbling block. How can I check the User Agent being added to the table to see if it is already there or not?

  • 写回答

2条回答 默认 最新

  • doufeinai6081 2010-08-14 05:45
    关注

    You can make the column that stores the User Agent string unique, and do INSERT ... ON DUPLICATE KEY UPDATE for your stats insertions

    For the table:

      CREATE TABLE IF NOT EXISTS `user_agent_stats` (
      `user_agent` varchar(255) collate utf8_bin NOT NULL,
      `hits` int(21) NOT NULL default '1',
      UNIQUE KEY `user_agent` (`user_agent`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    
    +------------+--------------+------+-----+---------+-------+
    | Field      | Type         | Null | Key | Default | Extra |
    +------------+--------------+------+-----+---------+-------+
    | user_agent | varchar(255) | NO   | PRI | NULL    |       | 
    | hits       | int(21)      | NO   |     | NULL    |       | 
    +------------+--------------+------+-----+---------+-------+
    

    You could use the following query to insert user agents:

    INSERT INTO user_agent_stats( user_agent ) VALUES('user agent string') ON DUPLICATE KEY UPDATE hits = hits+1;
    

    Executing the above query multiple times gives:

    +-------------------+------+
    | user_agent        | hits |
    +-------------------+------+
    | user agent string |    6 | 
    +-------------------+------+
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题