php - 将 mysqli_multi_query 与多个查询一起使用时无法提交

标签 php sql mysql database

我正在尝试提交 mysql 多重查询,但我不能...

当mysqli_multi_query“查询”有多个查询时无法提交。但是,当 mysqli_multi_query“查询”具有唯一查询时,它会被正确提交。在这两种情况下执行都是OK的。

例如:

// No commits
$query = "insert into table(id) values (3); insert into table(id) values (4); insert into table (id) values (5);";
$connection = getConnection( ... );
mysqli_multi_query( $connection, $query );
mysqli_commit( $connection );

此代码提交:

// This will commits
$query = "insert into table(id) values (3)";
$connection = getConnection( ... );
mysqli_multi_query( $connection, $query );
mysqli_commit( $connection );

最佳答案

您无需为此发出多个查询,一个 INSERT 查询可以包含多行要一次插入的值。它也比发出多个单独的查询要快得多。

INSERT INTO table (id) VALUES (3), (4), (5)

然后你可以使用 mysql_query/mysqli_query 而不是很少使用的多查询东西。

关于php - 将 mysqli_multi_query 与多个查询一起使用时无法提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4909740/

相关文章:

php - 在 Yii 的标准中如何获得计数 (*)

php - 我有一个与输入金额直接相关的复选框。如果有输入金额,则必须在发布前选中该复选框

sql - 复合键每组行的序列号

sql - 选择特定列中具有最大值的行,SQL Server

Mysql批量插入不更新LAST_INSERT_ID

mysql - 时序数据库线性存储

php - 如何删除所有特殊字符,如 "RS"(记录分隔符)

mysql - 如何使用 sql 检查列中的值并删除/继续读取(选择)表?

mysql替换为替代

php - 如果 uasort 回调返回 0,则元素被反转