符号链接 MySQL 列

Symlinked MySQL column

因为 postfixadmin 要求的列名与我已经在我的邮件服务器中使用的列名不同,我正在寻找一种方法来轻松地将列屏蔽/符号链接/复制到第二个名称。

例子:

mysql> select * from virtual_aliases;
+----+-----------+----------------+-------------------+---------------------+---------------------+
| id | domain_id | source         | destination       | created             | modified            |
+----+-----------+----------------+-------------------+---------------------+---------------------+
|  1 |         1 | alias@domain | me@domain       | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |

Postfixadmin 想要列名 "address",我认为它指的是我标记为 "desitnation" 的信息,但如果有人知道我错了,请告诉我。而不是更改该列名称并冒着破坏现有配置的风险,我想要一些方法来获取名称 "address" 来引用该列。

您可以为您的列设置别名,但您必须将它们列出来:

select id, domain_id, source, destination as address, created, modified from virtual_aliases;

另一种选择是创建一个视图,该视图为列设置别名并查询,而不是实际的 table。

create view postfix_virtual_aliases as
    select id, domain_id, source, destination as address, created, modified from virtual_aliases;

然后你只查询视图而不是 table:

select * from postfix_virtual_aliases;

第三个选项是简单地创建一个新的 'address' 列,将所有数据复制到该新列,然后创建触发器以将 'destination' 的值复制到 'address'关于插入和更新。