我正在尝试在我的mysql数据库中标准化列命名。在转换期间,我需要能够使用新列名和旧列名访问给定表的列。 具体来说,这两个查询需要返回相同的结果。
SELECT `old` FROM `table`;
SELECT `new` FROM `table`;
此外,插入新列名称的任何新数据都应通过旧列名称提供;反之亦然。
答案 0 :(得分:1)
我相信你正在寻找一个观点。您可以将视图定义为:
create view v_table as
select t.*, `old` as `new`
from `table` t;
假设没有命名冲突,这将给你们两个。
现在,您可能想要更进一步。您可以重命名旧表,并使视图采用旧表的名称:
rename table `table` to `old_table`;
create view t as
select t.*, `old` as `new`
from `old_table` t;
这样,引用table
的所有内容都将开始使用具有新列名称的视图。