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
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.
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!