在 MySQL 中,视图和表可以同名吗?

mysqlmysqli database

不可以,在 MySQL 中,不能为视图和表指定相同的名称。

让我们首先创建一个演示表−

mysql> create table view_Table_Demo
   -> (
   -> Id int,
   -> Name varchar(20)
   -> );
Query OK, 0 rows affected (0.80 sec)

现在,您可以使用 insert 命令在表中插入一些记录。查询如下 −

mysql> insert into view_Table_Demo values(100,'Larry');
Query OK, 1 row affected (0.17 sec)
mysql> insert into view_Table_Demo values(101,'Mike');
Query OK, 1 row affected (0.20 sec)
mysql> insert into view_Table_Demo values(102,'Sam');
Query OK, 1 row affected (0.14 sec)

使用 select 语句显示表中的所有记录。查询如下 −

mysql> select *from view_Table_Demo;

这是输出 −

+------+-------+
| Id | Name    |
+------+-------+
| 100 | Larry  |
| 101 | Mike   |
| 102 | Sam    |
+------+-------+
3 rows in set (0.00 sec)

如果您尝试为视图和表指定相同的名称,则会收到错误。查询和错误如下 −

mysql> create VIEW view_Table_Demo AS SELECT * from view_Table_Demo;
ERROR 1050 (42S01): Table 'view_Table_Demo' already exists
NOTE: To avoid the above error, try to give different name.

相关文章