Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie behebt man den Fehler „Spaltenanzahl-Diskrepanz' beim Übertragen von Daten zwischen MySQL-Tabellen?

Patricia Arquette
Freigeben: 2024-10-31 09:26:29
Original
988 Leute haben es durchsucht

How to Fix

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')
Nach dem Login kopieren

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
Nach dem Login kopieren

In dieser überarbeiteten Abfrage:

  • Die Unterabfrage wird verwendet, um die entsprechenden Daten aus tbl_magazine_subscription auszuwählen.
  • Die „1“ Der Wert für die Statusspalte wird direkt in der SELECT-Klausel in Anführungszeichen gesetzt.
  • Die Spalten in der INSERT-Anweisung und der SELECT-Klausel stimmen jetzt überein, wodurch das Problem der Nichtübereinstimmung der Spaltenanzahl behoben wird.

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!