我用于插入关键字的简单 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/