duancheng6500 2015-01-21 05:38
浏览 226
已采纳

Mysql如果重复UNIQUE KEY更新命中

My simple php script for inset keyword. If keyword is already exit i need update hits counter.. How can i do it? if keyword is "sample" if already is there in db i need update "hits" = 2 , if again same keyword "hits" =3

CREATE TABLE IF NOT EXISTS `search` (
      `ID` int(11) NOT NULL AUTO_INCREMENT,
      `keyword` varchar(255) NOT NULL,
      `hits` varchar(255) NOT NULL,
      `date` datetime DEFAULT NULL,
      PRIMARY KEY (`ID`),
      UNIQUE KEY `keyword` (`keyword`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;

my php:

$raw_results = mysql_query("INSERT INTO search (keyword, date) VALUES    ('$keyword', '$date' )");
  • 写回答

1条回答 默认 最新

  • drduinfu915094 2015-01-21 05:46
    关注

    Have you tried using ON DUPLICATE KEY?

    INSERT INTO table (columns) 
        VALUES (values)
    ON DUPLICATE KEY UPDATE hits = hits + 1
    

    because you have a unique key on keyword it will increment the hits by 1

    SIDE NOTE:

    dont use PHP's mysql_* deprecated API it has a lot of security issues. You should instead use parameterized queries with mysqli_* or PDO

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?