PHP中的multi_query必然是后续的

时间:2017-12-09 08:11:35

标签: php mysql mysqli mysqli-multi-query

给出以下示例:

$mysqli->query("SELECT * FROM `table`");
$mysqli->query("INSERT INTO `table` SET `x` = 'y' WHERE `x` = 2");

我无法保证所有查询都必须随后执行。另一个进程可能会拦截,并可能发生死锁。

MySQL是否保证随后执行它们而没有任何其他进程在其间进行查询?

请不要建议交易/锁定。这个问题与multi_query及其细节有关。

PHP中的示例代码:

$query = "SELECT * FROM `table`;";
$query .= "INSERT INTO `table` SET `x` = 'y' WHERE `x` = 2;";
$mysqli->multi_query($query);

1 个答案:

答案 0 :(得分:1)

当然没有。如果它会使所有其他世界都等待,那么它将会成为使用多查询的任何网站的地狱。

您正在寻找的是锁定和可能的交易