Heim >Datenbank >MySQL-Tutorial >Wie kann die Mehrdeutigkeit von „user_id' in der MySQL-WHERE-Klausel behoben werden?

Wie kann die Mehrdeutigkeit von „user_id' in der MySQL-WHERE-Klausel behoben werden?

Barbara Streisand
Barbara StreisandOriginal
2024-11-11 06:05:03584Durchsuche

How to Resolve

Mehrdeutige „user_id“ in der MySQL-WHERE-Klausel

Beim Abfragen einer Datenbank mit mehreren Tabellen, die gemeinsame Spaltennamen haben, ist es wichtig, diese explizit anzugeben Auf welche Tabellenspalte Sie sich in der WHERE-Klausel beziehen. Diese Mehrdeutigkeit entsteht, wenn Tabellen wie „Benutzer“ und „Benutzerinfo“ einen gemeinsamen Spaltennamen haben, z. B. „Benutzer-ID“.

Das Problem

Die folgende Abfrage versucht dies Verknüpfen Sie die Tabellen „user“ und „user_info“, aber es kommt zu dem Fehler „‚user_id‘ in where-Klausel ist mehrdeutig“:

SELECT user.*, user_info.*
FROM user
INNER JOIN user_info ON user.user_id = user_info.user_id
WHERE user_id=1

Die Lösung

Um diese Mehrdeutigkeit aufzulösen, müssen Sie angeben, welche Tabellenspalte „user_id“ Sie mit dem Wert 1 vergleichen. Dies geschieht, indem Sie dem Spaltennamen den Tabellenalias voranstellen:

SELECT user.*, user_info.*
FROM user
INNER JOIN user_info ON user.user_id = user_info.user_id
WHERE user.user_id=1

Durch explizite Angabe von „ user.user_id‘ teilen Sie der Datenbank mit, dass dies die Spalte ist, nach der Sie filtern möchten, und nicht die Spalte ‚user_id‘ aus der Tabelle ‚user_info‘. Dadurch wird die Mehrdeutigkeit beseitigt und die Abfrage kann erfolgreich ausgeführt werden.

Das obige ist der detaillierte Inhalt vonWie kann die Mehrdeutigkeit von „user_id' in der MySQL-WHERE-Klausel behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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