Heim >Datenbank >MySQL-Tutorial >Die Schlüsselspalte „Spaltenname' ist in der Tabelle nicht vorhanden – So beheben Sie den MySQL-Fehler: Die Schlüsselspalte ist in der Tabelle nicht vorhanden

Die Schlüsselspalte „Spaltenname' ist in der Tabelle nicht vorhanden – So beheben Sie den MySQL-Fehler: Die Schlüsselspalte ist in der Tabelle nicht vorhanden

WBOY
WBOYOriginal
2023-10-05 19:05:051539Durchsuche

Key column 'column_name' doesn't exist in table - 如何解决MySQL报错:键列在表中不存在

Titel: So beheben Sie den MySQL-Fehler: Die Schlüsselspalte ist in der Tabelle nicht vorhanden, es sind spezifische Codebeispiele erforderlich

Text:
Bei der Verwendung einer MySQL-Datenbank für Entwicklung oder Verwaltung treten häufig verschiedene Fehler auf. Einer der häufigsten Fehler besteht darin, dass die Schlüsselspalte nicht in der Tabelle vorhanden ist, d. h. die Schlüsselspalte „Spaltenname“ ist nicht in der Tabelle vorhanden. Dieser Fehler tritt normalerweise auf, wenn Indizes oder Fremdschlüssel zum Ausführen von Abfragen oder Vorgängen verwendet werden. In diesem Artikel wird ausführlich erläutert, wie dieser Fehler behoben werden kann, und es werden konkrete Codebeispiele bereitgestellt.

Zuerst müssen wir die Ursache dieses Fehlers verstehen. Dieser Fehler tritt normalerweise aufgrund der folgenden Situationen auf:

  1. Spaltennamenfehler: Wenn bei der Verwendung eines Index oder Fremdschlüssels für eine Abfrage oder Operation der angegebene Spaltenname in der entsprechenden Tabelle nicht vorhanden ist, wird dieser Fehler ausgelöst.
  2. Datentypkonflikt: Wenn der Datentyp der Spalte nicht mit dem Index- oder Fremdschlüsseldatentyp übereinstimmt, der während Index- oder Fremdschlüsseloperationen verwendet wird, wird dieser Fehler ebenfalls ausgelöst.
  3. Problem mit der Tabellenstruktur: Wenn beim Erstellen eines Index oder Fremdschlüssels ein Tabellenstrukturproblem auftritt, z. B. wenn die beim Erstellen des Index angegebene Spalte nicht vorhanden ist oder die beim Erstellen des Fremdschlüssels angegebene zugehörige Spalte nicht vorhanden ist, usw., wird dieser Fehler auch auftreten.

Als nächstes werden wir anhand dieser Gründe spezifische Codebeispiele bereitstellen, um diesen Fehler zu beheben.

  1. Fehler beim Spaltennamen:
    Im Allgemeinen kann dieser Fehler behoben werden, indem überprüft wird, ob der Spaltenname richtig geschrieben ist. Das Folgende ist ein Codebeispiel:
CREATE TABLE table_name (
    column1 INT,
    column2 VARCHAR(50),
    column3 INT
);

SELECT * FROM table_name WHERE column4 = 1;

Im obigen Code versuchen wir, einen nicht vorhandenen Spaltennamen „Spalte4“ für die Abfrage zu verwenden, was einen Fehler auslöst, der besagt, dass die Schlüsselspalte in der Tabelle nicht vorhanden ist. Die Lösung für diesen Fehler besteht darin, die Schreibweise des Spaltennamens zu überprüfen und ihn zu korrigieren.

  1. Nichtübereinstimmung des Datentyps:
    Wenn der Datentyp der angegebenen Spalte nicht mit dem beim Erstellen eines Index verwendeten Indextyps übereinstimmt, wird auch ein Fehler verursacht, dass die Schlüsselspalte nicht in der Tabelle vorhanden ist. Hier ist ein Codebeispiel:
CREATE TABLE table_name (
    column1 INT,
    column2 BINARY(16),
    column3 INT
);

CREATE INDEX index_name ON table_name (column1, column2);

Im obigen Code versuchen wir, einen Index index_name zu erstellen, der eine Spalte spalte1 vom Typ INT und eine Spalte spalte2 vom Typ BINARY(16) enthält. Aufgrund einer Nichtübereinstimmung des Datentyps wird ein Fehler ausgelöst, der besagt, dass die Schlüsselspalte nicht in der Tabelle vorhanden ist. Die Lösung für diesen Fehler besteht darin, sicherzustellen, dass die beim Erstellen des Index verwendeten Spalten mit dem Indextyp übereinstimmen.

  1. Problem mit der Tabellenstruktur:
    Wenn beim Erstellen eines Index oder Fremdschlüssels ein Problem mit der Tabellenstruktur auftritt, wird auch ein Fehler ausgelöst, dass die Schlüsselspalte nicht in der Tabelle vorhanden ist. Hier ist ein Codebeispiel:
CREATE TABLE table1 (
    column1 INT PRIMARY KEY,
    column2 INT,
    column3 INT
);

CREATE TABLE table2 (
    column4 INT,
    FOREIGN KEY (column4) REFERENCES table1(column5)
);

Im obigen Code versuchen wir, einen Fremdschlüssel in Tabelle 2 zu erstellen, um Spalte 4 mit Spalte 5 von Tabelle 1 zu verknüpfen. Da jedoch die Spalte „Spalte5“ in der Tabelle „Tabelle1“ nicht vorhanden ist, wird ein Fehler ausgelöst, der besagt, dass die Schlüsselspalte in der Tabelle nicht vorhanden ist. Die Lösung für diesen Fehler besteht darin, beim Erstellen des Fremdschlüssels sicherzustellen, dass die mit dem Fremdschlüssel verknüpfte Spalte in der entsprechenden Tabelle vorhanden ist.

Zusammenfassend gilt: Wenn wir auf eine MySQL-Fehlermeldung stoßen, dass die Schlüsselspalte nicht in der Tabelle vorhanden ist, müssen wir die Schreibweise des Spaltennamens, die Übereinstimmung des Datentyps und die Integrität der Tabellenstruktur überprüfen. Dieser Fehler kann durch entsprechende Korrekturen je nach Situation behoben werden. Gleichzeitig wird empfohlen, bei der Entwicklung oder Verwaltung von Datenbanken gute Namenskonventionen und Datentypkonsistenz einzuhalten, um diesen Fehler zu vermeiden.

Das obige ist der detaillierte Inhalt vonDie Schlüsselspalte „Spaltenname' ist in der Tabelle nicht vorhanden – So beheben Sie den MySQL-Fehler: Die Schlüsselspalte ist in der Tabelle nicht vorhanden. 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