So übertragen Sie Daten von einer Tabelle in eine andere in MySQL
Wenn Sie vor der Aufgabe stehen, Daten von einer Tabelle in eine andere zu übertragen, ist die Die INSERT-Anweisung kann nützlich sein. In Ihrem speziellen Fall ist bei Ihrer Abfrage ein Fehler aufgetreten:
INSERT INTO mt_magazine_subscription ( magazine_subscription_id, subscription_name, magazine_id, status ) VALUES ( (SELECT magazine_subscription_id, subscription_name, magazine_id FROM tbl_magazine_subscription ORDER BY magazine_subscription_id ASC), '1')
Die Fehlermeldung weist darauf hin, dass die Anzahl der Spalten in der INSERT-Anweisung nicht mit der Anzahl der bereitgestellten Werte übereinstimmt. Das Problem besteht hier darin, dass Sie versuchen, die Ergebnisse einer Unterabfrage als einzelnen Wert einzufügen, was nicht möglich ist.
Die Lösung: INSERT...SELECT-Syntax
Um dieses Problem zu beheben, sollten Sie die INSERT...SELECT-Syntax verwenden, die es Ihnen ermöglicht, Daten direkt aus einer Tabelle in eine andere einzufügen. Hier ist die korrigierte Abfrage:
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 überarbeiteten Abfrage:
Damit Korrektur: Ihre Abfrage sollte die Daten von tbl_magazine_subscription erfolgreich in mt_magazine_subscription mit dem angegebenen Statuswert einfügen.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Spaltenanzahl-Diskrepanz“ beim Übertragen von Daten zwischen MySQL-Tabellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!