【发布时间】:2013-11-13 13:32:06
【问题描述】:
MySQli 一直说我的“组合”查询的第一个选择部分存在语法错误,如下所示:
$my_massive_query =
'START TRANSACTION WITH CONSISTENT SNAPSHOT;
SELECT d.id AS `Location ID`, ...
SELECT d.id AS `Location ID`, ...
SELECT d.id AS `Location ID`, ...
SELECT d.id AS `Location ID`, ...
SELECT d.id AS `Location ID`, ...
COMMIT';
$mysqli->query($my_massive_query);
这在 php 中是“不允许的”吗?是否必须使用以下mysqli函数:
$mysqli->autocommit(FALSE);
$mysqli->query("SELECT ...");
$mysqli->query("SELECT ...");
$mysqli->query("SELECT ...");
$mysqli->commit();
我已经在 mysql 中执行了查询(在使用 var_dump 按原样获取它之后),并且它执行得很好,所以我不认为确实存在语法问题,并且可能不允许“组合”在单个字符串中查询?
我担心START TRANSACTION WITH CONSISTENT SNAPSHOT; 有一些额外的条件,仅将 autocommit 设置为 false 将无法满足这些条件。
【问题讨论】:
-
This 可能会有所帮助。
标签: php transactions mysqli autocommit