是否可以使MYSQL字段始终等于另一个?

Ric*_*haw 1 mysql sql

我正在使用一些代码写入另一个代码,我想这是我的问题的开始.

在我理想的不可更改的现有代码中,我有一个类似的查询:

SELECT username FROM users
Run Code Online (Sandbox Code Playgroud)

但是,在新数据库中,没有用户名字段,但有一个电子邮件地址.

我想以某种方式更改新数据库,以便在我询问用户名时收到电子邮件.

我知道我可以创建一个新字段并在电子邮件更新时手动填充它,但我真的很喜欢某种别名,这样两个代码库都可以不加修改地工作.

这可能吗?

Eri*_*lje 5

您可以创建一个视图:

CREATE VIEW v_users AS
SELECT email AS username
FROM users
Run Code Online (Sandbox Code Playgroud)

由于这仅仅是一个表,您甚至可以将它用于更新和插入以及查询(如果您使用的是相对较新版本的MySQL)

您甚至可以在单独的数据库中创建所有视图 - 这样它们可以与原始表具有相同的名称:

CREATE VIEW db2.users AS
SELECT email AS username
FROM db1.users
Run Code Online (Sandbox Code Playgroud)