【问题标题】:Can I create table in MySQL with adding columns in information_schema table directly我可以在 MySQL 中创建表并直接在 information_schema 表中添加列吗
【发布时间】:2017-09-12 06:35:01
【问题描述】:

在没有
create table ...的情况下是否有机会通过查询infirmation_schema来创建表?
感谢您的回答。

【问题讨论】:

    标签: mysql information-schema


    【解决方案1】:

    没有create table ...???

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

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

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

    是的,它是只读的。

    【讨论】:

      【解决方案2】:

      当然,Information_schema DB 是只读的。 但是在 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中。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-09-11
          • 2023-02-11
          • 2012-11-17
          • 1970-01-01
          • 2016-08-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多