【发布时间】:2014-08-12 05:00:50
【问题描述】:
我正在将搜索词插入数据库,当我运行它进行测试时,我看到重复插入到数据库中?知道为什么会这样吗?这是我的插入函数的示例 -
*Update - 我正在插入,它不再作为重复插入,但我试图让 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);
【问题讨论】:
-
您的表是如何定义的?任何(唯一或主)键?
-
我的 id 字段是 Primary,BTREE 类型设置为 Unique。
-
除非你插入一个 id,否则这对于列
termSafe或entryDate的有效性没有意义 - 你做什么在插入现有的 termSafe-Value 时期望?在插入现有的 entryDate 值时,您希望 什么? -
termSafe 将是搜索词,然后 entryDate 将是搜索的日期和时间。
标签: php mysql insert duplicates