0

我在MySQL 4.0.30上运行一个非常基本的子查询。
我的目标是从 mysql.user 表中为任何具有特定数据库授权的用户获取用户权限,如 mysql.db 表中所述。查询如下所示:

mysql> select * from mysql.user where User IN 
   (select User from mysql.db where Db='db_name')\G

如您所见,它非常基础并且遵循MySQL 手册中的子查询语法。但是,当我执行该操作时,它会出现以下响应错误:

ERROR 1064: You have an error in your SQL syntax.  Check the manual that 
corresponds to your MySQL server version for the right syntax to use near 'select
User from mysql.db where Db='db_name')' at line 1

我还尝试了使用命令= ANY而不是IN. 我在 4.1 和 5.0 版本的 MySQL 上运行了相同的查询。对此的任何帮助或见解表示赞赏。谢谢

4

1 回答 1

1

好的,事实证明我只是没有仔细检查手册:

从 MySQL 4.1 开始,支持 SQL 标准要求的所有子查询形式和操作,以及一些 MySQL 特定的功能。

http://dev.mysql.com/doc/refman/4.1/en/subqueries.html

于 2010-07-14T22:21:44.093 回答