php - Mysql if duplicate UNIQUE KEY update Hits

标签 php mysql insert duplicates

我用于插入关键字的简单 php 脚本。如果关键字已经退出,我需要更新点击计数器。我该怎么做?如果关键字是“sample”,如果已经存在于数据库中,我需要更新“hits”= 2,如果再次使用相同的关键字“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 ;

我的 php:

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

最佳答案

您是否尝试过使用 ON DUPLICATE KEY

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

因为您在关键字上有一个唯一键,所以它会将命中数增加 1

旁注:

不要使用 PHP 的 mysql_* deprecated API 它有很多安全问题。您应该改为使用带有 mysqli_* 的参数化查询 PDO

关于php - Mysql if duplicate UNIQUE KEY update Hits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28060337/

相关文章:

php - 如何在 PHP 中将字符串转换为 JSON 对象

php - 直接从 Eloquent 查询中提取和格式化日期

javascript - Base64上传图片问题

php - Mysql获取特定表的最后一个ID

PHP PDO SELECT 查询不显示结果

mysql - 连接表中多行中的值并将其写入新表中的单元格

iphone - 检测 iPhone 日历约会冲突的 SQL 语句

php - Laravel 5 中的模型

sql - 创建插入查询(外键约束错误)

.net - PetaPoco 插入物 - 最快的方法?