Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL 3000行中的PHP插入_Php_Mysql - Fatal编程技术网

MySQL 3000行中的PHP插入

MySQL 3000行中的PHP插入,php,mysql,Php,Mysql,写入MySQL数据库3000行 INSERT INTO test (id, test) VALUES ("1", "test"); INSERT INTO test (id, test) VALUES ("2", "test"); INSERT INTO test (id, test) VALUES ("3", "test"); ... INSERT INTO test (id, test) VALUES ("3000", "test"); 如何共享数据库未挂起的部件请求?我不确定这是否是

写入MySQL数据库3000行

INSERT INTO test (id, test) VALUES ("1", "test");
INSERT INTO test (id, test) VALUES ("2", "test");
INSERT INTO test (id, test) VALUES ("3", "test");

...

INSERT INTO test (id, test) VALUES ("3000", "test");

如何共享数据库未挂起的部件请求?

我不确定这是否是您要求的,但要将多个插入合并到一个查询中,您可以执行以下操作:

INSERT INTO test (id, test) VALUES
  ("1", "test"),
  ("2", "test"),
  ("3", "test");

这将大大加快您的脚本速度。

您可以将多个
INSERT
语句分组到一个语句中,如下所示

INSERT INTO test (id, test) VALUES ("1", "test"), ("2", "test"), ("3", "test");
这将减少发送到服务器的查询量

此外,如果它挂断了数据库,您可以使用关键字
DELAYED
()。这会缓存插入内容,直到数据库能够插入它们为止。更直接的查询可以在插入之前进行,从而延迟插入。这里需要注意的重要一点是,表中的数据只能最终保存,不能立即保存

INSERT DELAYED INTO test (id, test) VALUES ("1", "test"), ("2", "test"), ("3", "test");

是否有3000行要插入,但不想全部写出?如果是,请使用:

$insert = '';
$count = 1;
while ($count <= 3000) {
  $insert .= "('$count', 'test'), ";
  $count++;
}

$insert = substr($insert, 0, -2);

INSERT INTO test (`id`, `test`) VALUES $insert;
$insert='';
$count=1;

虽然($count),但我真的无法理解您的问题…请注意不要超过限制,因为有些db限制是每次多重插入查询1000行,请查找mysql