我可以在MySQL中创建表,直接在information_schema表中添加列

时间:2017-04-16 13:55:41

标签: mysql information-schema

是否有机会创建表通过查询infirmation_schema没有
 create table ...
谢谢你的回答。

3 个答案:

答案 0 :(得分:2)

  

没有create table ... ???

简单回答CREATE TABLE语句的唯一目的是创建数据库表。通常CREATE Object语句用于创建DB对象。除非您开发自己的RDBMS产品,否则没有其他替代方法。

如果您感到困惑,请阅读Documentation,并清楚地说明

  

INFORMATION_SCHEMA 提供对数据库元数据和信息的访问   关于MySQL服务器,例如数据库或表的名称,   列的数据类型或访问权限。

是的,它是只读的。

答案 1 :(得分:0)

它被称为 information_schema 而不是create_schema。所以你只能在那里阅读信息。

答案 2 :(得分:0)

是的,Information_schema数据库是只读的。 但是在MySQL中,视图未排序。例如,在此DDL中:“创建视图q1,从q2中选择a。*作为内部联接t1,作为a.col1 = b.col1上的b”。 您必须先创建第一个q2才能创建q1。如果从information.views中提取DDL,则Q1 DDL在Q2 DDL之前。 为了简单地解决此问题,我们只需要在表information_schema.views中添加一列auto_increment,或者最好在表information_schema.innodb_sys_tables中添加一列。