【发布时间】:2014-10-04 20:13:31
【问题描述】:
我正在将搜索词插入数据库,当我运行它进行测试时,我看到重复插入到数据库中。我能够解决这个问题,但是,现在我正在插入,它不再作为副本插入,但我试图让 on duplicate 工作 - 并且 on duplicate 每次都会将流行度更新 2?我这里有什么问题?
$entryDate = date("c");
$insertsearchquery="insert into article_searches (termSafe,entryDate) values (\"$termSafe\",\"$entryDate\") on duplicate key update popularity=popularity+1";
mysql_query($insertsearchquery);
我为 termSafe 和 entryDate 设置了唯一键。
TABLE `article_searches` (
`id` bigint(20) NOT NULL AUTO INCREMENT ,
`termSafe` varchar(150) ,
`entryDate` varchar(255),
`popularity` tinyint(6) UNSIGNED NOT NULL,
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `termSafe` USING BTREE (`termSafe`),
UNIQUE INDEX `entryDate` USING BTREE (`entryDate`)
)
虽然我只是删除了 entryDate 唯一索引。
【问题讨论】:
标签: php mysql sql insert duplicates