DBAtlas · Atlas für Datenbankbetrieb

1052: Column 'x' in field list is ambiguous (Spalte in der Feldliste mehrdeutig)

MySQL

Was bedeutet das?

Eine Spalte mit demselben Namen existiert in mehr als einer Tabelle der Abfrage, und weil sie ohne Tabellen-/Alias-Präfix verwendet wird, kann MySQL nicht erkennen, zu welcher Tabelle sie gehört.

Ursache

Beide verknüpften Tabellen haben eine gleichnamige Spalte (z. B. id in beiden); die Spalte steht unqualifiziert (ohne Präfix) in SELECT, WHERE, ON, GROUP BY oder ORDER BY.

Lösung

Qualifiziere jede mehrdeutige Spalte mit Tabellennamen oder Alias: SELECT a.id, b.id FROM a JOIN b ON a.id = b.a_id; Gib Tabellen kurze Aliase und versieh alle kollidierenden Spalten mit Präfix. Verringere bei Joins über gemeinsame Spalten die Mehrdeutigkeit mit USING(my_column).

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank