Wenn Sie versuchen, Daten aus einer Tabelle in eine andere in MySQL einzufügen, kann dies passieren Es kommt der Fehler „#1136 – Spaltenanzahl stimmt nicht mit der Wertanzahl in Zeile 1 überein.“ Dies tritt auf, wenn die Anzahl der in der INSERT-Anweisung angegebenen Spalten nicht mit der Anzahl der Spalten in den abgerufenen Daten übereinstimmt.
In der bereitgestellten Abfrage tritt der Fehler auf, weil die Die INSERT-Anweisung versucht, das Ergebnis einer Unterabfrage in mehrere Spalten einzufügen. Allerdings ruft die Unterabfrage nur drei Spalten ab (magazine_subscription_id, subscription_name, magazine_id), während die INSERT-Anweisung vier Spalten angibt (magazine_subscription_id, subscription_name, magazine_id, Status).
Um diesen Fehler zu beheben, können Sie die INSERT-Anweisung ändern um den fehlenden Wert für die Statusspalte direkt einzuschließen, wie in der überarbeiteten Abfrage unten zu sehen:
INSERT INTO mt_magazine_subscription ( magazine_subscription_id, subscription_name, magazine_id, status ) SELECT magazine_subscription_id, subscription_name, magazine_id, '1' FROM tbl_magazine_subscription ORDER BY magazine_subscription_id ASC;
In dieser modifizierten Abfrage wird das Literal „1“ direkt als Wert für die Statusspalte angegeben, um sicherzustellen dass die Spaltenanzahl mit der Werteanzahl übereinstimmt.
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die die Anfrage und Lösung in einem Frageformat erfassen: * MySQL INSERT-Fehler: „Spaltenanzahl stimmt nicht mit Wertanzahl überein' – Wie kann ich das beheben? * \'Spaltenanzahl Do. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!