0

我有一个 Winform C#.NET 应用程序。

当我使用 SQL Server ,然后一起返回两个结果集时,我使用 linebreak '\n' 传递了两个 SELECT 查询,但是如何在 mysql 中做到这一点?

在 SQL SERVER 中,我这样做并完成了:

"SELECT ProductName FROM Products" +"\n" +"SELECT ProductID FROM Products"

但是如何在 MySQL 中做到这一点????

4

1 回答 1

2

在 MySQL 中,由于其局限性,这是不可能的。很久以前,他们认为在一批中允许多个查询是不安全的。这可能是因为 MySQL 经常与 php 结合使用,并且通过添加分号并注入另一个查询来进行简单的 SQL 注入攻击是很常见的。

PS> 我不知道它是否适用于 MySQL 的新版本,因为自从我使用它(大约 3 年前)以来,可能发生了一些变化。

PS> 我建议使用存储过程来完成这个任务。

这可能看起来像这样:

CREATE PROCEDURE sample_procedure()
READS SQL DATA
BEGIN
  SELECT xxx FROM yyy;
  SELECT zzz FROM vvv;
END;
于 2011-06-08T19:40:38.263 回答