MySQL Subquery терпит неудачу на MySQL 4.0 с ошибкой синтаксиса - PullRequest
0 голосов
/ 15 июля 2010

Я выполняю довольно простой подзапрос на 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. Любая помощь или понимание этого приветствуется. Спасибо

1 Ответ

1 голос
/ 15 июля 2010

Хорошо, оказалось, что я просто недостаточно внимательно изучил руководство:

Начиная с MySQL 4.1, поддерживаются все формы и операции подзапроса, которые требуются в стандарте SQL, а также некоторые функции, специфичные для MySQL.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...