web-dev-qa-db-fra.com

Comment obtenir les définitions de vue mysql?

Show create view viewName n'affiche pas le texte correctement formaté. Comment obtenir le SQL correctement formaté?

Par exemple, j'ai créé une vue comme create view v1 as select * from mysql.uer, mais il revient comme ceci:

CREATE ALGORITHM=UNDEFINED DEFINER=root@localhost SQL SECURITY DEFINER 
VIEW v1 AS 
    select 
        mysql.user.Host AS Host,
        mysql.user.User AS User,
        mysql.user.Password AS Password,
        mysql.user.Select_priv AS Select_priv,
        ... ..., 
        mysql.user.Grant_priv AS Grant_priv,
        mysql.user.References_priv AS References_priv,
        mysql.user.Index_priv AS Index_priv,
        mysql.user.Alter_priv AS Alter_priv
    from mysql.user

Comment puis-je obtenir mes définitions originales?

8
user2400825
Show create view 'viewName'

renvoie la définition SQL avec create view instruction pendant

SELECT  VIEW_DEFINITION 
    FROM    INFORMATION_SCHEMA.VIEWS
    WHERE   TABLE_SCHEMA    = 'DATABASENAME' 
    AND     TABLE_NAME      = 'VIEWNAME';

renvoie uniquement la définition.

Les deux sont corrects pour obtenir la définition de la vue.

5
Pankaj Kumar