我的 select 语句看起来有点像这样:
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 不允许在一个查询中执行多个语句。
从我目前所读的内容来看,我应该使用 exec()。但是 exec() 不会返回 select 语句的结果。我不需要这个特定查询的参数化,所以任何不安全的方法也可以工作,因为查询本身是完全安全的,不受任何外部更改的影响。
现在我正在做的是将 sql 代码作为 3 个不同的语句执行。但我相信这比一次性执行它要慢,并且希望找到一种更好的方法来做到这一点。