Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
Здравствуйте, мне нужно создать представление, которое содержало бы в себе записи с определенным неизменяемым идентификатором.
Таблица pages (page_id, name, date, category_id)
Представление должно содержать те же данные что и в таблице page, только записи должны в ней находиться у которых category_id = 20 (пример)
CREATE VIEW `pages_view` AS SELECT * FROM `pages` WHERE `pages`.`category_id`='20';
этот запрос проходит успешно, но создается совершенно пустое прдетавление, хотя в таблице pages имеются записи у которых category_id=20
скажите пожалуйста, в чем моя ошибка?
спасибо
Неактивен
Хмм, т.е. Вы хотите сказать, что SELECT * FROM pages_view выдает ноль строк, а просто SELECT из правой части запроса создания - нет? Попробуйте выделить и скопировать запрос, может, опечатались где-то просто?
Неактивен
SELECT * FROM `pages` WHERE `category_id`='23'
запрос возвращает 10 записей - это именно те записи которые я хочу видеть в представлении
CREATE VIEW `pages_view` AS SELECT * FROM `pages` WHERE `category_id`='23'
создается представление и при входе в него возвращается 0 строк и выдёт следующую ошибку:
"#1356 - View 'aaaaa.pages_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
Отредактированно ad1r (26.08.2010 16:18:01)
Неактивен
Команды
Неактивен
Да один и тем же пользователем, через phpmyadmin
Неактивен
Нее, Вы делаете разные вещи. Сравните правые части Ваших запросов:
WHERE `page_category_id`='23'
WHERE `pages`.`category_id`='23'
Найдите два отличия.
Неактивен
допустил ошибку при оформлении поста, исправил коды запросов, phpmyadmin выдает точно такую же ошибку.
ещё раз и по порядку
1 создаю представление:
CREATE VIEW pages_view AS SELECT * FROM pages where `category_id`='23'
2 выбираю из представления:
SELECT * FROM pages_view
в результате запроса получаю 0 строк и что-то типа ошибки
#1356 - View 'asdad.pages_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
Отредактированно ad1r (26.08.2010 16:25:51)
Неактивен
Ну, вообще говоря, так не бывает. Т.е. если Вы делаете всё действительно так,
как описываете, то это ошибка ПО. Я бы на Вашем месте для начала отказался
от phpMyAdmin в пользу стабильного клиента и попробовал бы в нем. Хорошими
клиентами являются стандартный консольный клиент и стандартный графический
клиент.
Если в них ошибка тоже воспроизводится, то попробуйте обновить MySQL до
последней стабильной версии и попробовать в ней.
Неактивен
Выполняю аналогичные запросы на домашнем сервере - все успешно отрабатывается и выводится.
Спасибо, буду разбираться
Неактивен
Страниц: 1