1

私の選択ステートメントは次のようになります。

CREATE TEMPORARY TABLE t1 AS(
    SELECT id, COUNT(*) AS count 
    FROM some_other_table 
    GROUP BY id);

ALTER TABLE t1 ADD UNIQUE INDEX (id);
SELECT * FROM t2 INNER JOIN t1 ON t1.id = t2.id

私は次のPHPコードを使用しています:

$pdo->query($sql)->fetchAll();

しかし、PDO では 1 つのクエリで複数のステートメントを実行できないため、エラーが発生します。

これまで読んだことから、exec() を使用する必要があります。しかし、exec() は select ステートメントの結果を返しません。この特定のクエリのパラメーター化は必要ないため、クエリ自体は外部の変更から完全に安全であるため、安全でないメソッドも機能します。

今私がやっていることは、SQL コードを 3 つの異なるステートメントとして実行することです。しかし、それは一度に実行するよりも遅いと思います。これを行うためのより良い方法を見つけたいと思います。

4

1 に答える 1