给出以下示例:
$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);
答案 0 :(得分:1)
当然没有。如果它会使所有其他世界都等待,那么它将会成为使用多查询的任何网站的地狱。
您正在寻找的是锁定和可能的交易