gpt4 book ai didi

mysql - 您能否在服务器端的 MySQL 中生成一个动态生成的字段?

转载 作者:行者123 更新时间:2023-11-29 04:42:23 24 4
gpt4 key购买 nike

我们有一个正在逐步更换的旧系统。最初设计它的人将我们客户的美国电话号码分为三个字段:phone_part_1、phone_part_2 和 phone_part_3,分别对应美国区号、交换和电话号码。

我们正在过渡到使用单个字段 phone_number 来保存所有 10 位数字。但是,由于系统的某些部分将继续引用旧字段,我们目前被迫加倍。

我想知道是否可以使用 MySQL 内置功能将对旧字段(读取和写入)的请求重新路由到较新的字段,而不必更改旧代码(这里没有人使用的语言)无论如何都很舒服。)所以:

SELECT phone_part_1 FROM users;

最终会和

一样
SELECT SUBSTRING( phone_number, 1, 3 );

明确地说,我想在操作单个查询的情况下执行此操作。是否可以?怎么办?

最佳答案

您可以定义一个 View :

CREATE VIEW users AS
SELECT SUBSTRING( phone_number, 1, 3 ) AS phone_number, ... FROM real_users;

然后你就可以像查询表一样查询它了:

SELECT phone_number FROM users;

但这需要您的“真实”表以不同的表名存储。您不能创建与现有表同名的 View 。

当您准备好真正用新结构替换表时,您可以使用 RENAME TABLE 快速更改表(无需重新构建表)。

关于mysql - 您能否在服务器端的 MySQL 中生成一个动态生成的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25814620/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com