使用php运行多查询时是否有最大数量的查询?
$conn = new mysqli($db_hostname, $db_username, $db_password);
if (mysqli_connect_errno()) {
exit('Connect failed: '. mysqli_connect_error());
}
$sql = "CREATE TABLE IF NOT EXISTS......";
$sql .= "CREATE TABLE IF NOT EXISTS......";
$sql .= "CREATE TABLE IF NOT EXISTS......";
$sql .= "INSERT ......";
$sql .= "INSERT ......";
<and so on>
mysqli_autocommit($conn, false);
mysqli_multi_query($conn, $sql);
mysqli_rollback($conn);
答案 0 :(得分:0)
我现在不知道PHP函数mysqli_multi_query
是通过使用MySQL API的多查询可能性来实现的,还是在PHP方面拆分语句。
但您可以尝试在net_buffer_length but
中提升max_allowed_packet
和my.cnf
。但我的印象是这些是每个语句缓冲区。
向那些在这里绊倒的人清楚,不是出于OP的好奇心,而是因为他们碰到了最大值:通常other ways要做many INSERTs。