mysql - 是否可以有一个始终等于另一个的 MYSQL 字段?

标签 mysql sql

我正在使用一些为另一个地方编写的代码,我想这是我问题的开始。

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

SELECT username FROM users

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

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

我知道我可以创建一个新字段并在电子邮件更新时手动填充它,但我真的想要某种别名,这样两个代码库都可以在不修改的情况下工作。

这可能吗?

最佳答案

您可以创建一个 View :

CREATE VIEW v_users AS
SELECT email AS username
FROM users

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

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

CREATE VIEW db2.users AS
SELECT email AS username
FROM db1.users

关于mysql - 是否可以有一个始终等于另一个的 MYSQL 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14198268/

相关文章:

mysql - 从文件或数据库生成 CSS 文件 (PHP)

php - 将 UTF-8 数据放入 latin1 数据库列时会发生什么?

php - 法尔康 PHP : Update a primary natural key

脚本中的Mysql数据库错误

mysql - SQL "in"语句

mysql - 如何使用内连接更新选择中的字段值?

php - 如何使用可变列名进行 SQL 查询?

mysql - 错误 1045 (28000) : Access denied for user (using password: YES)

sql - super key 与候选 key

MySql - 更新字符串部分的方法?