2016-03-30 5 views
0

Weil postfixadmin nach anderen Spaltennamen fragt als die, die ich bereits in meinem Mailserver verwendet habe, suche ich nach einer Möglichkeit, eine Spalte einfach zu maskieren/symlink/duplizieren zu einem zweiten Namen.Symlinked MySQL-Spalte

Das Beispiel:

mysql> select * from virtual_aliases; 
+----+-----------+----------------+-------------------+---------------------+---------------------+ 
| id | domain_id | source   | destination  | created    | modified   | 
+----+-----------+----------------+-------------------+---------------------+---------------------+ 
| 1 |   1 | [email protected] | [email protected]  | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 | 

Postfixadmin den Spaltennamen „Adresse“ will die ich glaube, die Informationen beziehen sich auf I als „desitnation“ bezeichnet haben, obwohl, wenn jemand weiß, dass ich falsch bin, dass auf Sie sagen mich. Anstatt den Spaltennamen zu ändern und bestehende Konfigurationen zu zerstören, möchte ich den Namen "Adresse" erhalten, um auf diese Spalte zu verweisen.

Antwort

1

Sie können Ihre Spalten alias aber man muss sie zur Liste aus:

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

Eine weitere Option ist eine Ansicht zu erstellen, die die Spalten und Abfrage, die statt Ihrer tatsächlichen Tabelle Aliase.

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

Dann fragen Sie einfach die Ansicht anstelle der Tabelle:

select * from postfix_virtual_aliases; 

Eine dritte Möglichkeit ist, einfach eine neue ‚Adresse‘ Spalte zu erstellen, kopieren Sie alle Daten auf diesen neuen Spalte, und erstellen Sie dann Trigger, um den Wert von 'Ziel' in 'Einfügungen und Aktualisierungen' zu 'Adresse' zu kopieren.

Verwandte Themen