Php 多次运行SQL查询
我需要运行这个查询100次才能将数据输入我的MySQL数据库。ID自动递增。不关心增加表名列。只需要填充数据库。不必复制/粘贴100次,最好的方法是什么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
"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个查询中完成,如果你用7INSERT…选择
s…虽然从技术上讲,你最终有128行。可能重复