MySQL 表别名

标签 mysql view

我正在将应用程序从不区分大小写的数据库迁移到 MySQL。我的 DBA 不允许更改任何 Mysql 配置设置,因此不能选择使用“lower_case_table_names”。

MySQL 是否具有别名功能,可以让多个表名指向同一个表?

例如,如果 USER 和 usersB 是同一个表的别名,那么这两个查询将插入到同一个表中:

Insert into USER VALUES (2, 3....);

Insert into usersB VALUES (2, 3, ....);

View 接近所需的功能,但我希望更新和更改结构命令适用于所有别名。

谢谢!

最佳答案

Does MySQL have any aliasing ability to have multiple table names point to the same table?

不存在这样的 SQL 约定 - INSERT 语句将记录插入一个且仅一个表中。用户定义的类型可能,但 MySQL 不支持它们。

View 可用于呈现统一的结果集 - IE:

CREATE VIEW vw_users AS
   SELECT * FROM USER
   UNION 
   SELECT * FROM USERSB

...并且可能可以更新,但无法满足您所需的功能。

关于MySQL 表别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3072191/

相关文章:

php - 如何在不按大写锁定的情况下将字符设置为大尺寸

java - getFilesDir() 在子类中查看

android - 如何在 Android 中创建 Panorama 360 View

android - ScrollView 内的 FlowLayout

android - 如何让 bottomSheet 从顶部打开?

java - 以编程方式声明 View 时应用什么单位?

mysql - 尽管数据库排序规则是utf8_general_ci,但是grails表排序规则latin_swedish_ci

MySQL 启动时尝试登录失败

mysql - 使用 MySQL 聚合重叠事件

mysql - 在 while 循环中组合两个查询,包括 group by