繁体   English   中英

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

[英]PHP MySQL Insert Ignore Inserting Too Much Data

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

-用户
-现场

用户的默认值为1,因此我不会插入其中,因为我认为对于INSERT IGNORE,您需要一个保持不变的列。

我当前的查询:

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

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

我认为我的INSERT IGNORE无法正常工作,有人可以引导我看看我在做什么错吗?

您确定该站点是主键吗?

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

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

http://dev.mysql.com/doc/refman/5.5/zh-CN/insert.html

添加主键(如果不存在):

ALTER TABLE surfed_site ADD PRIMARY KEY (site);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM