使用INFORMATION_SCHEMA进行MySQL的列更新 - 这可能吗?

时间:2017-03-02 11:19:17

标签: mysql database-design information-schema

我知道我可以使用INFORMATION_SCHEMA查看属性并做一些了不起的事情来学习我的db / table / field结构。

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

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

2 个答案:

答案 0 :(得分:0)

  1. 要学习INFORMATION_SCHEMA:我从阅读文档开始 - INFORMATION_SCHEMA Tables。然后我会尝试编辑对象,看看这些表中会发生什么。
  2. INFORMATION_SCHEMA表是系统表,无法修改。 ALTER TABLE是更改表的唯一方法。

答案 1 :(得分:0)

这是一个好主意,但不幸的是,它不起作用。

INFORMATION_SCHEMA中的表是只读的视图,实际上不是表。因此,没有任何与之关联的文件或目录。您只能读取它们的内容,而不能对其执行INSERTUPDATEDELETE操作。

请参阅https://dev.mysql.com/doc/refman/5.7/en/information-schema-introduction.html#information-schema-usage-notes,以了解详细信息。

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