Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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
Php 多次运行SQL查询_Php_Mysql - Fatal编程技术网

Php 多次运行SQL查询

Php 多次运行SQL查询,php,mysql,Php,Mysql,我需要运行这个查询100次才能将数据输入我的MySQL数据库。ID自动递增。不关心增加表名列。只需要填充数据库。不必复制/粘贴100次,最好的方法是什么 "INSERT INTO `tables`(id, name, assigned_seating, open_seating, position) VALUES ('', 'Table 1', 0, 1, '')"; 您可以执行批量插入: insert into Table (column1, column2) VALUES

我需要运行这个查询100次才能将数据输入我的MySQL数据库。ID自动递增。不关心增加表名列。只需要填充数据库。不必复制/粘贴100次,最好的方法是什么

"INSERT INTO `tables`(id, name, assigned_seating, open_seating, position) VALUES ('', 'Table 1', 0, 1, '')";

您可以执行批量插入:

insert into Table
(column1, column2)
    VALUES
      ('value 1', 'value2') ,
      ('value3', 'value4')

只要按comas将行分隔开,就可以执行任意多行操作。

您可以执行批量插入:

insert into Table
(column1, column2)
    VALUES
      ('value 1', 'value2') ,
      ('value3', 'value4')
 $vals='';
 for ($i = 0; $i < 100; $i++) {
    $vals.="('Table 1', 0, 1, ''),";
 }
 $vals=rtrim($vals,',');

 mysqli_query($dbh, 'INSERT INTO `tables`(name, assigned_seating, open_seating, position) VALUES ' . $vals);
只要用comas将行分隔开,就可以执行任意多行操作。

$vals='';
 $vals='';
 for ($i = 0; $i < 100; $i++) {
    $vals.="('Table 1', 0, 1, ''),";
 }
 $vals=rtrim($vals,',');

 mysqli_query($dbh, 'INSERT INTO `tables`(name, assigned_seating, open_seating, position) VALUES ' . $vals);
对于($i=0;$i<100;$i++){ $VAL.=“(‘表1’、0、1、’)、”; } $VAL=rtrim($VAL,,'); mysqli_查询($dbh,'INSERT-INTO'tables`(名称、指定座位、开放座位、位置)值“$vals);
假定id是自动递增的,所以只需将其从查询中删除即可

$vals='';
对于($i=0;$i<100;$i++){
$VAL.=“(‘表1’、0、1、’)、”;
}
$VAL=rtrim($VAL,,');
mysqli_查询($dbh,'INSERT-INTO'tables`(名称、指定座位、开放座位、位置)值“$vals);
假定id是自动递增的,因此只需将其从查询中删除即可尝试以下操作:

DELIMITER $$

DROP PROCEDURE IF EXISTS `multipleInsert` $$
    CREATE PROCEDURE `multipleInsert`(in n int)
    BEGIN
    DECLARE cont int default 0;
    WHILE cont  < n DO
    INSERT INTO `tables`(id, name, assigned_seating, open_seating, position) VALUES ('', 'Table 1', 0, 1, '');
    set cont  = cont  + 1;
    end while;
    END $$

DELIMITER ;
试试这个:

DELIMITER $$

DROP PROCEDURE IF EXISTS `multipleInsert` $$
    CREATE PROCEDURE `multipleInsert`(in n int)
    BEGIN
    DECLARE cont int default 0;
    WHILE cont  < n DO
    INSERT INTO `tables`(id, name, assigned_seating, open_seating, position) VALUES ('', 'Table 1', 0, 1, '');
    set cont  = cont  + 1;
    end while;
    END $$

DELIMITER ;

您只需要一个至少有100行的现有表。我将使用
information\u schema.columns
作为示例:

插入“表格”(id、名称、指定座位、开放座位、位置)
选择null,‘表1’,0,1,'
从信息_schema.columns
上限为100;

演示:

您只需要一个至少有100行的现有表。我将使用
information\u schema.columns
作为示例:

插入“表格”(id、名称、指定座位、开放座位、位置)
选择null,‘表1’,0,1,'
从信息_schema.columns
上限为100;

演示:

如果将来有人看到这一点,这是最好的答案

public function addbatch()
{
  for ($i = 1; $i <= 100; $i++)
  {
    $tableName = "Table " . $i;
    $q = "INSERT INTO `tables`(id, name, cap, assigned_seating, open_seating, position) VALUES ('', '".$tableName."', 10, 0, 1, '')";
    $this->db->query($q);
  }
}
公共函数addbatch()
{
对于($i=1;$i db->query($q);
}
}

调用函数一次。但请确保完成后删除!

如果将来有人看到这一点,这是最好的答案

public function addbatch()
{
  for ($i = 1; $i <= 100; $i++)
  {
    $tableName = "Table " . $i;
    $q = "INSERT INTO `tables`(id, name, cap, assigned_seating, open_seating, position) VALUES ('', '".$tableName."', 10, 0, 1, '')";
    $this->db->query($q);
  }
}
公共函数addbatch()
{
对于($i=1;$i db->query($q);
}
}

调用函数一次。完成后确保删除!

使用for循环?可以在一个查询中完成,不需要100,给我一个mo来写,如果你使用7
INSERT,总共可以在八个查询中完成…选择
s…尽管从技术上讲,最终会有128行。使用for循环的可能重复?可以在一个查询中完成查询,不需要100,给我一个mo来写,你可以在8个查询中完成,如果你用7
INSERT…选择
s…虽然从技术上讲,你最终有128行。可能重复