Heim >Datenbank >MySQL-Tutorial >Wie füge ich Daten mithilfe von SELECT- und Standardwerten korrekt in eine MySQL-Tabelle ein?

Wie füge ich Daten mithilfe von SELECT- und Standardwerten korrekt in eine MySQL-Tabelle ein?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-04 03:15:13894Durchsuche

How to Correctly Insert Data into a MySQL Table Using SELECT and Default Values?

Mit Auswahl- und Standardwerten in eine MySQL-Tabelle einfügen: Fehler beheben

In MySQL das Einfügen von Daten in eine Tabelle mithilfe von Auswahlanweisungen und Standardwerten kann manchmal zu Fehlern führen. Gehen wir auf die spezifischen Fehlermeldungen ein, die in den bereitgestellten Abfragen aufgetreten sind.

Fehler 1: MySQL-Fehler

Die Abfrage INSERT INTO def (catid, title, page, Publish) ( SELECT catid, title from abc),'page','yes') führt zu einem MySQL-Fehler, da versucht wird, mehrere Datensätze einzufügen, ohne die Spaltennamen dafür anzugeben Standardwerte.

Fehler 2: Spaltenanzahl stimmt nicht überein

Die Abfrage INSERT INTO def (catid, title, page, Publish) VALUES((SELECT catid, title from abc ),'page','yes')) verursacht einen Fehler bei der Spaltenanzahl, da mehr Werte in der SELECT-Unterabfrage als in VALUES angegeben werden Klausel.

Lösung

Um diese Fehler zu beheben, ist die korrekte Methode zum Einfügen in eine Tabelle mit SELECT-Anweisungen und Standardwerten wie folgt:

INSERT INTO def (catid, title, page, publish) 
SELECT catid, title, 'page', 'yes' 
FROM `abc`

Diese Abfrage gibt explizit die Standardwerte für Seite („Seite“) und Veröffentlichung („Ja“) in der SELECT-Anweisung an. Durch den Abgleich der Spaltennamen in der INSERT INTO-Klausel mit den in der SELECT-Unterabfrage ausgewählten Spalten wird auch der Spaltenanzahlfehler vermieden.

Diese aktualisierte Abfrage sollte die Daten aus der abc-Tabelle erfolgreich in die def-Tabelle einfügen. zusammen mit den Standardwerten für Seite und Veröffentlichung.

Das obige ist der detaillierte Inhalt vonWie füge ich Daten mithilfe von SELECT- und Standardwerten korrekt in eine MySQL-Tabelle ein?. 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