jueves, 18 de julio de 2013

No se puede acceder a una vista en la base de datos MySQL debido al error: "'view_name' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them"

Síntomas

El mismo usuario de la base de datos no puede utilizar una vista creada en una base de datos MySQL alojada. Se obtiene el siguiente error:
CREATE VIEW temp_view as
    SELECT * from TEMP_TABLE1;

SELECT * FROM temp_view; 
ERROR 1356 (HY000): View 'db1004420_test_customer.temp_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

Resolución

Especifique de forma explícita que debe usarse el modelo de seguridad INVOKER mientras se ejecute la vista tal y como puede verse a continuación:
CREATE  SQL SECURITY INVOKER VIEW temp_view as
    SELECT * from TEMP_TABLE1; 

No hay comentarios:

Publicar un comentario