Ich möchte alle Spalten in einer Tabelle auswählen, aber nur einer davon einen Alias geben.
Ich habe diese Tabelle:
%Vor% Nun möchte ich die base
mit einem Alias auswählen: SELECT base AS structure
.
Aber ich möchte auch alle anderen Felder auswählen, ohne sie alle eingeben zu müssen.
Ich habe versucht, SELECT *, base AS structure
, aber es gibt mir einen Fehler.
In Wahrheit ist das nicht wirklich das, was ich will, weil ich nicht will, dass base
überhaupt auftaucht.
Ist das überhaupt möglich?
Nein.
Sie listen entweder die gewünschten auf oder Sie sagen "all", indem Sie *
schreiben.
Dies sind die zwei Möglichkeiten, die Ihnen zur Verfügung stehen.
Faulheit: Begone! (Und, seien wir ehrlich, wenn Sie diesen Alias wirklich brauchen, dann wird Ihr Feld wahrscheinlich zuerst falsch benannt ...)
Letztendlich könnten Sie > ein VIEW
erstellen, um diesen Job transparent auszuführen, aber dann müssten Sie es als ALTER
Ihrer ursprünglichen Tabelle aktualisieren.
Ich habe versucht, dies zu vermeiden, aber diese Antwort demonstriert einen Umweg:
%Vor% (Ersetzen von <table>
, <database>
und <columns_to_exclude>
).
Ich möchte jedoch wiederholen: nicht. Etwas stimmt nicht, wenn du das tun musst.
soweit ich weiß (und eine Überprüfung mit der MySQL-Dokumentation bestätigt) dass es nicht möglich ist, alle Spalten mit dem ursprünglichen Namen bis auf eins aufzulisten, zumindest mit *.
Wenn es Ihnen nichts ausmacht, auch den alten Namen zu haben, können Sie so etwas tun:
SELECT MyTable. *, MyTable.base AS-Struktur