Maison > base de données > tutoriel mysql > le corps du texte

Comment résoudre l'erreur « Le nombre de colonnes ne correspond pas au nombre de valeurs » lors de l'insertion de données dans MySQL ?

DDD
Libérer: 2024-10-26 18:24:29
original
477 Les gens l'ont consulté

How to Resolve

Insertion de données d'une table à une autre dans MySQL

Lorsque vous essayez d'insérer des données d'une table dans une autre à l'aide d'une requête telle que :

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')
Copier après la connexion

vous pouvez rencontrer le message d'erreur :

#1136 - Column count doesn't match value count at row 1
Copier après la connexion

Cela est dû au fait que le nombre de colonnes spécifié dans l'instruction INSERT ne correspond pas au nombre de valeurs fournies dans la sous-requête.

Solution

Pour résoudre ce problème, utilisez la syntaxe INSERT...SELECT, comme suit :

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 
Copier après la connexion

Dans cette requête corrigée, le '1 La valeur de la colonne d'état est citée directement dans la partie SELECT. En utilisant la syntaxe INSERT...SELECT, vous spécifiez les colonnes dans lesquelles insérer et sélectionnez les valeurs à insérer à partir d'une autre table ou sous-requête, en vous assurant que le nombre de colonnes et de valeurs correspondent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal