Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 16h16   #1
Membre régulier
 
Inscription : février 2007
Messages : 483
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 483
Points : 75
Points : 75
Par défaut Column count doesn't match value count at row 1

Bonjour,

j'ai une requête qui ne fonctionne pas et je ne comprends pas pourquoi...

Pour cloner un produit, je cherche à dupliquer dans une table la ligne de l'ancien product tout en lui affectant un nouveau product_id.

Le code est celui-ci :
Code :
1
2
3
$q  = "INSERT INTO #__{vm}_product_attribute_sku
SELECT '".$d["product_id"]."', attribute_name, attribute_list 
FROM #__{vm}_product_attribute_sku WHERE product_id='" . (int)$d["old_product_id"] . "' ";
Mais je récupère ce message d'alerte :
Citation:
500 - Une erreur est survenue

JDatabaseMySQL::query: 1136 - Column count doesn't match value count at row 1 SQL=INSERT INTO jos_vm_product_attribute_sku SELECT '982', attribute_name, attribute_list FROM jos_vm_product_attribute_sku WHERE product_id='965'
Il y a 4 champs par rangée :
attribute_sku_id
product_id
attribute_name
attribute_list

attribute_sku_id est en auto-incrément


Vous comprenez ce qui ne va pas ?


Paul
Mister Paul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 16h27   #2
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Citation:
Envoyé par Mister Paul Voir le message
Bonjour,

j'ai une requête pour dupliquer la ligne d'une table qui ne fonctionne pas
et je ne comprends pas pourquoi...

Je récupère ce message d'alerte :
Le code est celui-ci :
Code :
1
2
3
$q  = "INSERT INTO #__{vm}_product_attribute_sku
SELECT '".$d["product_id"]."', attribute_name, attribute_list 
FROM #__{vm}_product_attribute_sku WHERE product_id='" . (int)$d["old_product_id"] . "' ";
Il y a 4 champs par rangée :
attribute_sku_id
product_id
attribute_name
attribute_list

attribute_sku_id est en auto-incrément


Vous comprenez ce qui ne va pas ?


Paul
Bonjour,

Je pense qu'il y a un soucis au niveau du nombre de champs dans ta requête : tu fais une insertion de TROIS champs dans une table qui en contient QUATRE.

Tu dois donc la modifier comme cela :

Code mysql :
1
2
3
$q  = "INSERT INTO #__{vm}_product_attribute_sku (champ1, champ2, champ3)
SELECT '".$d["product_id"]."', attribute_name, attribute_list 
FROM #__{vm}_product_attribute_sku WHERE product_id='" . (int)$d["old_product_id"] . "' ";

champ1, champ2, champ3 étant les champs qui tu veux "remplir".
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 16h51   #3
Membre régulier
 
Inscription : février 2007
Messages : 483
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 483
Points : 75
Points : 75
C'est parfait !
Merci Nheo
Mister Paul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 16h52   #4
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Citation:
Envoyé par Mister Paul Voir le message
C'est parfait !
Merci Nheo
De rien, passe une bonne fin de journée .
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h54.


 
 
 
 
Partenaires

Hébergement Web