【问题标题】:MySQL Update of Columns using INFORMATION_SCHEMA - is this possible?MySQL 使用 INFORMATION_SCHEMA 更新列 - 这可能吗?
【发布时间】:2017-03-02 11:19:17
【问题描述】:

我知道我可以使用INFORMATION_SCHEMA 查看属性并做一些令人惊奇的事情来了解我的数据库/表/字段结构。

但是,是否可以更新 COLUMNS 表中的字段值,从而更新实际列?例如将 nullable 从 NO 设置为 YES。

如果这不能直接实现,我意识到我可以使用查询来 CONCAT 一个 ALTER 字符串,然后运行这些字符串。但是,在这种情况下,是否有一种方法可以在一个操作中运行eval() 命令来执行此操作?谢谢。

【问题讨论】:

    标签: mysql database-design information-schema


    【解决方案1】:
    1. 要学习 INFORMATION_SCHEMA:我将从阅读文档开始 - INFORMATION_SCHEMA Tables。然后我会尝试编辑对象并查看这些表中发生了什么。
    2. INFORMATION_SCHEMA 表是系统表,它们不能被修改。 ALTER TABLE 是更改表的唯一方法。

    【讨论】:

      【解决方案2】:

      这是个好主意,但不幸的是,它行不通。

      INFORMATION_SCHEMA 中的表格是只读的视图,实际上并不是表格。所以没有任何文件或目录与它们相关联。只能读取它们的内容,不能对它们运行INSERTUPDATEDELETE操作。

      详情请见https://dev.mysql.com/doc/refman/5.7/en/information-schema-introduction.html#information-schema-usage-notes

      仅供参考,如果您想要更有针对性地回答数据库问题,请访问Database Administrators Stack Exchange 网站。

      【讨论】:

        猜你喜欢
        • 2011-03-27
        • 2018-08-28
        • 1970-01-01
        • 1970-01-01
        • 2017-11-15
        • 2012-09-05
        • 1970-01-01
        • 1970-01-01
        • 2011-05-12
        相关资源
        最近更新 更多