一个查询php中有多个mysql INSERT语句

Ian*_*ugh 26 php mysql

这合法吗?

$string1= "INSERT INTO....;";
$string1 .= "INSERT INTO....;";
$string1 .= "INSERT INTO....;";
mysql_query($string1) or die(mysql_error()); 
Run Code Online (Sandbox Code Playgroud)

Gav*_*our 51

对于它的价值,并且取决于您是否将相同的数据插入到相同的表中,使用一个插入插入多个值会更好, 例如

INSERT INTO a VALUES (1,23),(2,34),(4,33);
INSERT INTO a VALUES (8,26),(6,29);
Run Code Online (Sandbox Code Playgroud)

  • 特别感谢参考"插入速度"页面. (2认同)

Gre*_*reg 38

不,一次mysql_query()只允许一个查询.

您可以像这样插入多行:

INSERT INTO table (col1, col2)
VALUES (1, 2), (3, 4), (5, 6)
Run Code Online (Sandbox Code Playgroud)


Mat*_*ija 12

来自MySQL dev支持MySQL dev论坛

INSERT INTO table (artist, album, track, length) 
VALUES 
("$artist", "$album", "$track1", "$length1"), 
("$artist", "$album", "$track2", "$length2"),
("$artist", "$album", "$track3", "$length3"), 
("$artist", "$album", "$track4", "$length4"),
("$artist", "$album", "$track5", "$length5");
Run Code Online (Sandbox Code Playgroud)

所以插入像往常一样正常:

  • 首先命名我们要插入新行的表名,
  • 然后在圆括号中命名列名(注意:如果要插入所有列,则不需要),
  • 接下来是VALUES键名,然后在圆括号中出现你想在上表中为新ROW插入的值,
  • 然后是COMMA,然后是另一对圆括号,上面提到的表格中有新行的新值
  • 只要你有数据要插入,这就会重复N次.

快乐插入多个值与一个插入语句.:)