插入1-100 PHP之间的连续数字


Insert continuous number from 1-100 PHP

你好,所以我有一个名为tbl_value的表,有两列(id,number(,我想做的是运行一个插入1-100行的查询。我现在的代码是

$stmt = $dbc->query("INSERT INTO tbl_inc (number) VALUES ('1')");
$stmt = $dbc->query("INSERT INTO tbl_inc (number) VALUES ('2')");
$stmt = $dbc->query("INSERT INTO tbl_inc (number) VALUES ('3')");

依此类推直到100。如何运行插入1-100的单个查询(无循环(?提前谢谢。

无循环:

<?php
$sql = "INSERT INTO tbl_inc (number) VALUES ('";
$vals = range(1, 100);
$sql .= implode( "') , ('" , $vals)."')";
$stmt = $dbc->query($sql);
?>

输出:

INSERT INTO tbl_inc (number) VALUES ('1') , ('2') , ('3') , ('4') , ('5') , ('6') , ('7') , ('8') , ('9') , ('10') , ('11') , ('12') , ('13') , ('14') , ('15') , ('16') , ('17') , ('18') , ('19') , ('20') , ('21') , ('22') , ('23') , ('24') , ('25') , ('26') , ('27') , ('28') , ('29') , ('30') , ('31') , ('32') , ('33') , ('34') , ('35') , ('36') , ('37') , ('38') , ('39') , ('40') , ('41') , ('42') , ('43') , ('44') , ('45') , ('46') , ('47') , ('48') , ('49') , ('50') , ('51') , ('52') , ('53') , ('54') , ('55') , ('56') , ('57') , ('58') , ('59') , ('60') , ('61') , ('62') , ('63') , ('64') , ('65') , ('66') , ('67') , ('68') , ('69') , ('70') , ('71') , ('72') , ('73') , ('74') , ('75') , ('76') , ('77') , ('78') , ('79') , ('80') , ('81') , ('82') , ('83') , ('84') , ('85') , ('86') , ('87') , ('88') , ('89') , ('90') , ('91') , ('92') , ('93') , ('94') , ('95') , ('96') , ('97') , ('98') , ('99') , ('100')

您可以使用循环并生成查询。试试这个-

$sql = "INSERT INTO tbl_inc (number) VALUES ";
$vals = array();
for($i = 1; $i <= 100; $i ++) {
   $vals[] = "('$i')";
}
$sql .= implode(',', $vals);
$stmt = $dbc->query($sql);

最快的解决方案是创建一个平面文件,LOAD DATA INFILE确保检查权限。

$fp = fopen('/mylocation/mytext.txt', "a+");
for($i = 1; $i <= 100; $i++){
  fwrite($fp, $i."'n");
}
fclose($fp);
$sql = "LOAD DATA INFILE /mylocation/mytext.txt
        INTO TABLE mytbl
        LINES TERMINATED BY ''n'";
$stmt = $dbc->query($sql);
unlink('/mylocation/mytext.txt');
for($i = 1; $i<= 100; $i++) {
     $dbc->query("INSERT INTO tbl_inc (number) VALUES (".$i.")");
}

尝试以上代码