Heim  >  Artikel  >  Datenbank  >  Unbekannte Spalte „Spaltenname“ in der „on-Klausel“ – So beheben Sie den MySQL-Fehler: Unbekannte Spalte in der on-Klausel

Unbekannte Spalte „Spaltenname“ in der „on-Klausel“ – So beheben Sie den MySQL-Fehler: Unbekannte Spalte in der on-Klausel

王林
王林Original
2023-10-05 08:13:241603Durchsuche

Unknown column 'column_name' in 'on clause' - 如何解决MySQL报错:on子句中的未知列

Titel: Unbekannte Spalte „Spaltenname“ in „on-Klausel“ – So beheben Sie den MySQL-Fehler: Unbekannte Spalte in der on-Klausel, spezifische Codebeispiele sind erforderlich

Artikeltext:

MySQL ist eine häufig verwendete relationale Open-Source-Datenbank Managementsysteme werden häufig in verschiedenen Arten der Anwendungsentwicklung eingesetzt. Bei der Verwendung von MySQL treten jedoch manchmal verschiedene Fehler und Probleme auf. Einer der häufigsten Fehler ist „Unbekannte Spalte ‚Spaltenname‘ in ‚on-Klausel‘“ (unbekannte Spalte in der on-Klausel).

Wenn wir eine JOIN-Anweisung (Join Query) in MySQL ausführen und in der on-Klausel auf einen unbekannten Spaltennamen verwiesen wird, meldet MySQL diesen Fehler. Dieser Fehler wird normalerweise durch eine falsche Schreibweise eines Spaltennamens, einen Spaltennamen, der nicht in der entsprechenden Tabelle definiert ist, oder die falsche Verwendung eines Alias ​​verursacht.

Also, wie kann man dieses Problem lösen? Hier sind einige gängige Lösungen:

  1. Überprüfen Sie, ob der Spaltenname richtig geschrieben ist: Zuerst sollten wir sorgfältig prüfen, ob der Spaltenname im Code mit dem Spaltennamen in der Datenbanktabelle übereinstimmt, und dabei darauf achten, ob die Groß-/Kleinschreibung übereinstimmt . Wenn sie inkonsistent sind, müssen Sie die Spaltennamen im Code in die richtige Schreibweise ändern.

Nehmen wir zum Beispiel an, wir haben eine Tabelle namens „Benutzer“, die Spalten mit den Namen „ID“ und „Name“ enthält. Dieser Fehler wird gemeldet, wenn wir den Spaltennamen „id“ in der Join-Abfrage als „Id“ buchstabieren. Die richtige Schreibweise besteht darin, den Spaltennamen „id“ in „Id“ zu ändern.

SELECT *
FROM Benutzer
JOIN Aufträge ON Benutzer.Id = Aufträge.user_id;

Die richtige Schreibweise ist:

SELECT *
FROM Benutzer
JOIN Aufträge ON Benutzer.id = Aufträge.user_id;

  1. Spalte bestätigen Ob der Name in der richtigen Tabelle definiert ist: Wenn wir bestätigen, dass die Schreibweise des Spaltennamens korrekt ist, müssen wir sicherstellen, dass er in der entsprechenden Tabelle definiert ist. Überprüfen Sie außerdem noch einmal, ob die Tabellen- und Spaltennamen mit den Definitionen in der Datenbank übereinstimmen.

Nehmen wir zum Beispiel an, wir haben eine Tabelle namens „Bestellungen“, die eine Spalte namens „Benutzer-ID“ enthält. Wenn wir jedoch in der Verbindungsabfrage den Spaltennamen „user_id“ als „customer_id“ schreiben, wird dieser Fehler gemeldet. Zu diesem Zeitpunkt müssen wir den Spaltennamen in die korrekte Schreibweise ändern.

SELECT *
VON Benutzern
JOIN Bestellungen ON Benutzer.id = Aufträge.customer_id;

Die richtige Schreibweise ist:

SELECT *
FROM Benutzer
JOIN Aufträge ON Benutzer.id = Aufträge.user_id;

  1. Tabelle verwenden Seien Sie beim Aliasing vorsichtig mit Zitaten: Manchmal werden Tabellenaliase in Join-Abfragen verwendet, um den Code zu vereinfachen. Bei der Verwendung von Tabellenaliasen kann dieser Fehler jedoch auch auftreten, wenn das Alias-Präfix bei der Referenzierung von Spaltennamen in der on-Klausel nicht korrekt verwendet wird.

Angenommen, wir haben zum Beispiel Tabellenaliase verwendet, um den Code zu vereinfachen:

SELECT *
FROM user AS u
JOINorders AS o ON u.id =orders.user_id;

Verweisen Sie an dieser Stelle auf die Spalte in der on-Klausel Bei der Benennung sollten wir das korrekte Alias-Präfix „u“ anstelle des Tabellennamens „users“ der Originaltabelle verwenden.

Durch die oben genannten Methoden können wir das Problem des MySQL-Fehlers „Unbekannte Spalte ‚Spaltenname‘ in ‚on-Klausel‘“ (unbekannte Spalte in der on-Klausel) lösen. Um diesen Fehler und die Lösung besser zu verstehen, wird unten gleichzeitig ein spezifisches Codebeispiel angegeben:

Beispielcode:

CREATE TABLE-Benutzer (
id INT PRIMARY KEY,
Name VARCHAR(50)
);

TABELLE Bestellungen erstellen (
id INT PRIMARY KEY,
user_id INT,
order_date DATE
);

INSERT INTO user VALUES (1, 'Alice');
INSERT INTO user VALUES (2, 'Bob');
IN DEN BESTELLUNGSWERTEN EINFÜGEN (1, 1, '01.01.2022'); id =orders.user_id;

In diesem Beispiel erstellen wir eine Tabelle mit dem Namen „users“ und eine Tabelle mit dem Namen „orders“, und sie werden durch die Benutzer-ID verbunden. In der Join-Abfrage haben wir den richtigen Spaltennamen und das Alias-Präfix verwendet, um Fehler zu vermeiden.


Zusammenfassend lässt sich sagen, dass Sie zur Behebung des MySQL-Fehlers „Unbekannte Spalte ‚Spaltenname‘ in ‚on-Klausel‘“ auf die Schreibweise des Spaltennamens achten müssen, ob der Spaltenname in der Tabelle definiert wurde und … Referenzmethode bei der Verwendung von Aliasnamen. Durch sorgfältige Überprüfung und korrekte Änderung des Codes können wir diesen Fehler vermeiden und die Join-Abfrageanweisung erfolgreich ausführen.

Das obige ist der detaillierte Inhalt vonUnbekannte Spalte „Spaltenname“ in der „on-Klausel“ – So beheben Sie den MySQL-Fehler: Unbekannte Spalte in der on-Klausel. 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