Maison  >  Article  >  base de données  >  Voici quelques options de titre, capturant la requête et la solution sous forme de question : * Erreur MySQL INSERT : \'Le nombre de colonnes ne correspond pas au nombre de valeurs\' - Comment y remédier ? * \'Nombre de colonnes à faire

Voici quelques options de titre, capturant la requête et la solution sous forme de question : * Erreur MySQL INSERT : \'Le nombre de colonnes ne correspond pas au nombre de valeurs\' - Comment y remédier ? * \'Nombre de colonnes à faire

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 15:45:02344parcourir

Here are a few title options, capturing the query and solution in a question format:

* MySQL INSERT Error:

Gestion des erreurs : résolution du problème « Le nombre de colonnes ne correspond pas au nombre de valeurs » dans les insertions MySQL

Lorsque vous essayez d'insérer des données d'une table dans une autre dans MySQL, vous pouvez rencontrez l'erreur "#1136 - Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1." Cela se produit lorsque le nombre de colonnes spécifié dans l'instruction INSERT ne correspond pas au nombre de colonnes dans les données récupérées.

Cause de l'erreur et solution

Dans la requête fournie, l'erreur se produit car le L'instruction INSERT tente d'insérer le résultat d'une sous-requête dans plusieurs colonnes. Cependant, la sous-requête ne récupère que trois colonnes (magazine_subscription_id, Subscribe_name, magazine_id), tandis que l'instruction INSERT spécifie quatre colonnes (magazine_subscription_id, Subscribe_name, magazine_id, status).

Pour résoudre cette erreur, vous pouvez modifier l'instruction INSERT. pour inclure directement la valeur manquante pour la colonne d'état, comme le montre la requête révisée ci-dessous :

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;

Dans cette requête modifiée, le littéral « 1 » est directement spécifié comme valeur de la colonne d'état, garantissant que le nombre de colonnes correspond au nombre de valeurs.

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!

Déclaration:
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