43 votes

Comment renommer une vue dans MySQL ?

J'ai créé une vue vw_extr .

Maintenant, je veux le renommer vw_my .

Comment renommer une vue dans MySQL ?

63voto

Ike Walker Points 21162

Vous pouvez utiliser RENAME TABLE pour ça :

RENAME TABLE vw_extr to vw_my

7 votes

Si c'est dans la même base de données, c'est OK, mais contrairement aux tables, MySQL ne supporte pas le déplacement des vues d'une base de données à une autre. Ainsi, DROP+CREATE est une approche plus générale.

2 votes

Bon point. Si vous essayez de renommer une vue pour la déplacer d'un schéma à un autre, vous obtiendrez cette erreur : ERROR 1450 (HY000): Changing schema from '<old>' to '<new>' is not allowed.

1voto

Renommer n'a pas fonctionné pour moi, ce que j'ai fait c'est :

Arrêtez MySQL, passez dans le répertoire de ma base de données, et renommez de my_old_view.frm a my_new_view.frm .

J'utilisais linux, donc les commandes étaient :

/etc/init.d/mysqld stop
cd /var/lib/mysq/DatabaseName
mv my_old_view.frm my_new_view.frm
/etc/init.d/mysqld start

0voto

Brian Driscoll Points 10188

DROP VIEW IF EXISTS vw_extr;

CREATE VIEW vw_my ...

Vous devrez remplir mon ... avec la DDL de votre vue.

0 votes

Je n'ai pas compris la partie ..., merci de préciser.

0 votes

C'est... ce que vous avez utilisé pour créer vw_extr en premier lieu.

2 votes

C'est beaucoup plus facile d'utiliser RENAME TABLE

-1voto

View ne fournit pas d'options pour le renommer comme une table car c'est une table virtuelle. MS SQL Server recompile chaque fois que nous créons une modification. Veuillez vous référer à l'URL ci-joint. https://docs.microsoft.com/en-us/sql/relational-databases/views/views?view=sql-server-ver15

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X