我正在将应用程序从不区分大小写的数据库迁移到 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/