mysql - 在 View 中动态获取表中的所有列

标签 mysql sql

在 MySQL 中,保存以下 View 后:

CREATE VIEW MyView AS SELECT * FROM MyTable;

如果我编辑MyView,星号就会消失,并且 SQL 包含所有字段名称。例如:

ALTER VIEW MyView AS SELECT field1, field2 FROM MyTable;

MyTable添加了新字段时,我希望 View 输出也显示这些新字段。如何防止星号被文字列名称替换?

最佳答案

这是一个反模式。不要用 select * 写 View - 它会反过来咬你。

如果需要,您可以通过引用 INFORMATION_SCHEMA.COLUMNS 编写自动生成的 SQL 语句来生成 View 代码,以节省一些时间

关于mysql - 在 View 中动态获取表中的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46996179/

相关文章:

mysql - 连接多个列上的两个表

java - 复合主键和数据截断错误

javascript - 我的部分 js 脚本在我的 ejs 文件中不起作用

php - 如何使用此查询创建此多维数组(最终变成 JSON)

php - 如何在 mysql + codeigniter 中按开始时间/结束时间过滤记录

MySQL:使用表中的parent_id获取所有层次结构

sql - 也许您需要不同的 "datestyle"设置

mysql - 使用MySQL对多个条件进行计数操作

mysql - 使用 typeorm 对多列进行排序

sql - 加入父 ID 的最佳方式