Heim > Datenbank > MySQL-Tutorial > Warum tritt „Unbekannte Spalte in der Where-Klausel' auf, wenn Aliase in SQL-Abfragen verwendet werden?

Warum tritt „Unbekannte Spalte in der Where-Klausel' auf, wenn Aliase in SQL-Abfragen verwendet werden?

Linda Hamilton
Freigeben: 2025-01-17 15:57:14
Original
542 Leute haben es durchsucht

Why Does

SQL-Fehler: „Unbekannte Spalte in der Where-Klausel“

Beim Ausführen einer SQL-Abfrage ähnlich:

<code class="language-sql">SELECT u_name AS user_name FROM users WHERE user_name = "john";</code>
Nach dem Login kopieren

Möglicherweise tritt der Fehler „Unbekannte Spalte ‚Benutzername‘ in der Where-Klausel“ auf. Dieser Fehler liegt daran, dass die SQL-Analysereihenfolge von rechts nach links erfolgt.

Konkret wird die WHERE-Klausel vor der SELECT-Klausel analysiert. Beim Parsen der WHERE-Klausel wurde der Alias ​​„user_name“ noch nicht auf die Spalte „u_name“ angewendet. Daher interpretiert die Datenbank „Benutzername“ als unbekannte Spalte und gibt einen Fehler aus.

Um dieses Problem zu lösen, können Sie den ursprünglichen Spaltennamen „u_name“ in der WHERE-Klausel verwenden:

<code class="language-sql">SELECT u_name AS user_name FROM users WHERE u_name = "john";</code>
Nach dem Login kopieren

Alternativ können Sie eine Unterabfrage verwenden, um der Spalte einen Alias ​​zuzuweisen, bevor Sie den Alias ​​in der WHERE-Klausel verwenden:

<code class="language-sql">SELECT user_name FROM (SELECT u_name AS user_name FROM users) AS subquery WHERE user_name = "john";</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum tritt „Unbekannte Spalte in der Where-Klausel' auf, wenn Aliase in SQL-Abfragen verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage