mysql 存储引擎怎么可能为 NULL?

jch*_*360 5 mysql storage-engine

我只是在读一本书,在其中一个例子中我得到了通知:

  • information_schema.table 中的引擎为空,这怎么可能?
  • 我可以在没有任何引擎的情况下创建表格吗??,有没有专业人士?在此处输入图片说明

Rol*_*DBA 6

实际上,我在 2011 年 7 月写了一篇关于如何访问视图以进行修改的帖子(Modify DEFINER on Many Views)。

事实是,当存储引擎为NULL时,它始终是一个视图。

视图的实际定义是

MySQL 5.1/5.5

mysql> desc information_schema.views;
+----------------------+--------------+------+-----+---------+-------+
| Field                | Type         | Null | Key | Default | Extra |
+----------------------+--------------+------+-----+---------+-------+
| TABLE_CATALOG        | varchar(512) | NO   |     |         |       |
| TABLE_SCHEMA         | varchar(64)  | NO   |     |         |       |
| TABLE_NAME           | varchar(64)  | NO   |     |         |       |
| VIEW_DEFINITION      | longtext     | NO   |     | NULL    |       |
| CHECK_OPTION         | varchar(8)   | NO   |     |         |       |
| IS_UPDATABLE         | varchar(3)   | NO   |     |         |       |
| DEFINER              | varchar(77)  | NO   |     |         |       |
| SECURITY_TYPE        | varchar(7)   | NO   |     |         |       |
| CHARACTER_SET_CLIENT | varchar(32)  | NO   |     |         |       |
| COLLATION_CONNECTION | varchar(32)  | NO   |     |         |       |
+----------------------+--------------+------+-----+---------+-------+
10 rows in set (0.02 sec)
Run Code Online (Sandbox Code Playgroud)

MySQL 5.0

mysql> desc information_schema.views;
+-----------------+--------------+------+-----+---------+-------+
| Field           | Type         | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| TABLE_CATALOG   | varchar(512) | YES  |     | NULL    |       |
| TABLE_SCHEMA    | varchar(64)  | NO   |     |         |       |
| TABLE_NAME      | varchar(64)  | NO   |     |         |       |
| VIEW_DEFINITION | longtext     | NO   |     | NULL    |       |
| CHECK_OPTION    | varchar(8)   | NO   |     |         |       |
| IS_UPDATABLE    | varchar(3)   | NO   |     |         |       |
| DEFINER         | varchar(77)  | NO   |     |         |       |
| SECURITY_TYPE   | varchar(7)   | NO   |     |         |       |
+-----------------+--------------+------+-----+---------+-------+
8 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

要查看 sakila.actor_info 的视图定义,您可以运行

SELECT * FROM information_schema.views
WHERE table_schema='sakila' AND table_name='actor_info'\G
Run Code Online (Sandbox Code Playgroud)

或者

SHOW CREATE VIEW sakila.actor_info\G
Run Code Online (Sandbox Code Playgroud)