Wie behebe ich den Fehler „Nicht eindeutige Tabelle/Alias: ‚Benutzer‘“ in SQL?
Der von Ihnen angegebene SQL-Code gibt den Fehler 1066 aus weil auf die Tabelle „user“ zweimal ohne Alias verwiesen wird. In SQL ist es beim Verknüpfen von Tabellen wichtig, Tabellen eindeutige Aliase zu geben, wenn sie mehrfach referenziert werden.
Ihre Tabellenstruktur zeigt, dass die Tabelle „Benutzer“ Spalten wie „Name“ und „ID“ enthält. Sie haben die Tabelle „article“ mit der Tabelle „user“ verknüpft, um Benutzerinformationen basierend auf „author_id“ abzurufen. Allerdings haben Sie auch die Tabelle „article“ erneut links mit der Tabelle „user“ verbunden, diesmal jedoch basierend auf „modified_by“. Ohne die Angabe eines Alias für die zweite Instanz der Tabelle „user“ kann die Abfrage nicht zwischen den beiden Verwendungen von „user“ unterscheiden.
Um dieses Problem zu beheben, müssen Sie die zweite Instanz von „user“ angeben ' Tabelle ein Alias. Dadurch wird zwischen den beiden Instanzen unterschieden und SQL kann die Spalten, die Sie abrufen möchten, korrekt identifizieren.
Hier ist der geänderte Code:
SELECT article.*, section.title, category.title, user.name, u2.name FROM article INNER JOIN section ON article.section_id = section.id INNER JOIN category ON article.category_id = category.id INNER JOIN user ON article.author_id = user.id LEFT JOIN user u2 ON article.modified_by = u2.id WHERE article.id = '1'
In diesem geänderten Code haben wir die angegeben zweite Instanz der 'user'-Tabelle der Alias 'u2'. Dadurch kann die Abfrage zwischen den beiden Vorkommen der „Benutzer“-Tabelle unterscheiden und die gewünschten Daten korrekt abrufen.
Das obige ist der detaillierte Inhalt vonWie behebe ich den SQL-Fehler „Nicht eindeutige Tabelle/Alias: ‚Benutzer''?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!