2018年の更新:DEVはこれをバグとは見なしませんが、意図した動作です。したがって、PHP-ユーザーはそれを受け入れる必要があります。今後の質問がある場合はレポートを閉じます...
これは、PDO
のバグとして報告されることがよくあります。 : https://bugs.php.net/bug.php?id=61613
FIRST の場合にのみ、例外がスローされます ステートメントが無効です。最初のステートメントがスムーズに実行されれば、エラーは発生しません-そして最初のステートメントは有効です:
INSERT INTO `a` (`b`, `c`) VALUES
(1, 1),
(2, 2),
(3, 2);
回避策として-またはユーザー削除によると それを行う正しい方法-行セットを1つずつ処理する必要があります(バグレポートのコメントから取得):
$pdo->beginTransaction();
try {
$statement = $pdo->prepare($sql);
$statement->execute();
while ($statement->nextRowset()) {/* https://bugs.php.net/bug.php?id=61613 */};
$pdo->commit();
} catch (\PDOException $e) {
$pdo->rollBack();
throw $e;
}