PHP MySQL插入忽略插入太多数据

时间:2012-11-16 15:24:00

标签: php mysql insert ignore

我有一个流量交换,每次查看网站时,我都希望它插入一个看起来像这样的表:

-user
-site

用户默认为1,我不插入它,因为我想要INSERT IGNORE,你需要一个保持不变的列。

我当前的查询:

$db->Query("INSERT IGNORE INTO `surfed_site` (site) VALUES('".$sit['id']."')");

我有大约85人在线,但在1秒的刷新中,它从表中的0变为750,这是不可能的,因为用户必须在插入之前查看网站20秒。

我认为我的INSERT IGNORE无法正常工作,是否有人能指导我看看我做错了什么?

1 个答案:

答案 0 :(得分:1)

您是否认为该网站是主键?

为了使INSERT IGNORE正常工作,您必须将插入的值声明为主/单键

  

如果使用IGNORE关键字,则执行INSERT语句时发生的错误将被视为警告。例如,如果没有IGNORE,则复制表中现有UNIQUE索引或PRIMARY KEY值的行会导致重复键错误,并且语句将中止。使用IGNORE时,仍未插入行,但未发出错误。

http://dev.mysql.com/doc/refman/5.5/en/insert.html

如果不存在,则添加主键:

ALTER TABLE surfed_site ADD PRIMARY KEY (site);
相关问题