首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用巨大的数组填充表

问用巨大的数组填充表
EN

Stack Overflow用户
提问于 2012-04-28 05:03:12
回答 3查看 214关注 0票数 1

我正在尝试用从页面中刮来的内容填充一个表。问题是,有近20万个项目同时被插入,破坏了系统。我知道错误是:

警告: mysql_query() function.mysql-query: MySQL服务器在第15行的C:xampp\htdocs\testing\scbble2.php中消失了 警告: mysql_query() function.mysql-query:在第15行C:\xampp\htdocs\testing\scbble2.php中读取结果集的标题时出错 无法添加项目: MySQL服务器已消失

代码语言:javascript
复制
<?
include('simple_html_dom.php');
$html = new simple_html_dom();
$html->load_file('http://kisa.ca/scrabble/');
$collection = $html->find('.words');
$con = mysql_connect("localhost","root","root") or die('Could not connect: ' .    mysql_error());
mysql_select_db( 'test' ) or die('Could not select database: ' . mysql_error());
foreach ($collection as $word)
{
    $add_item = "INSERT INTO ScrabbleWords (ID, Words) VALUES ('', '" . $word . "')";
    mysql_query($add_item) or die('Could not add item: ' . mysql_error());
    echo $word;
    echo ", ";
}
echo "Done";
mysql_close($con);
?>

那么,如何用这样大的数组填充我的表呢?

EN

回答 3

Stack Overflow用户

发布于 2012-04-28 05:07:34

使用MySQL extended inserts,这将大大减少查询的数量:

代码语言:javascript
复制
INSERT INTO ScrabbleWords (ID, Words) VALUES ('', 'Word1'), ('', 'Word2'), ('', 'Word3'), ...;

你可以循环通过和分组在一起,说1000个字,一次插入一个。

还可以增加MySQL连接超时:

代码语言:javascript
复制
ini_set('mysql.connect_timeout', 300); // seconds
ini_set('default_socket_timeout', 300);
票数 1
EN

Stack Overflow用户

发布于 2012-04-28 05:08:43

尝试像这样使用insert:

代码语言:javascript
复制
INSERT INTO example
    VALUES
  (100, 'Name 1', 'Value 1', 'Other 1'),
  (101, 'Name 2', 'Value 2', 'Other 2'),
  (102, 'Name 3', 'Value 3', 'Other 3'),
  (103, 'Name 4', 'Value 4', 'Other 4');
票数 0
EN

Stack Overflow用户

发布于 2012-04-28 05:12:27

为什么MySQL服务器会消失。

如果向服务器发送不正确或过大的查询,则可以获得这些错误。如果mysqld接收到的数据包太大或不正常,它假设客户端出了问题并关闭了连接。如果需要大查询(例如,如果使用大BLOB列),可以通过设置服务器的max_allowed_packet变量来增加查询限制,该变量的默认值为1MB。您还可能需要增加客户端的最大数据包大小。有关设置数据包大小的更多信息,请参见C.5.2.10,“包太大”节。

源链接

这可能是也可能不是你的问题的答案,但我认为这是最可能的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10360751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档