0 ligne insérée
Résolu
geekat
Messages postés
223
Date d'inscription
Statut
Membre
Dernière intervention
-
geekat Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
geekat Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
4 réponses
-
Bonjour,
Déjà... il est préférable de nous coller le code que tu utilises.... plutôt que de nous en mettre une capture écran
Ensuite.... as tu testé la partie "select" de ta requête directement dans ta BDD pour voir si elle retournait quelque chose ?
-
Merci pour ta réponse.
Le code que j'utilise est la requête affichée sur l'image :INSERT INTO structure (id_struct, famille_contact, id_typologie, nom_contact, desc_contact, nom_struct, nom_service, adres_struct, code_postal, ville, id_pays, tel_struct, fax_struct, mail_struct, page_web ) SELECT x.`id_struct`, x.`famille_contact`, y.`id_typologie`, x.`nom_contact`,x.`desc_contact`,x.`nom_struct`,x.`nom_service`,x.`adres_struct`,x.`code_postal`,x.`ville`, z.id, x.`tel_struct`,x.`fax_struct`, x.`mail_struct` ,x.`page_web` FROM brut as x, typologie as y, pays as z WHERE x.typologie = y.typologie AND x.pays = z.pays;
En essayant juste le SELECT, ça me retourne le message suivant :La sélection courante ne contient pas de colonne unique. Les grilles d'édition, les cases à cocher ainsi que les liens Edition, Copie et Supprimer ne sont pas disponibles.
-
-
Je n'ai jamais eu ce type d'erreur...
Peux tu faire un SELECT * sur chacune de tes tables pouvoir voir si déjà là.. ça passe :SELECT * FROM brut; SELECT * FROM typologie; SELECT * FROM pays;
-
J'ai trouvé pourquoi, c'est à cause de l'orthographe des valeurs qui ne correspondent pas dans le WHERE :P
Tout ça à cause d'un "s" .
Merci pour ton aide!
J'ai maintenant 15 lignes insérées au lieu de 18, et je sais pourquoi mais pas comment résoudre ça. En fait, il y a des valeurs qui sont vides pour pays, donc le WHERE ne se fait pas. Comment faire dans ce cas-là ? -
Tout est résolu.
Il fallait utiliser le LEFT JOIN au lieu du WHERE.
INSERT INTO structure (id_struct, famille_contact, id_typologie, nom_contact, desc_contact, nom_struct, nom_service, adres_struct, code_postal, ville, id_pays, tel_struct, fax_struct, mail_struct, page_web ) select x.`id_struct`, x.`famille_contact`, y.`id_typologie`, x.`nom_contact`,x.`desc_contact`,x.`nom_struct`,x.`nom_service`,x.`adres_struct`,x.`code_postal`,x.`ville`, z.id, x.`tel_struct`,x.`fax_struct`, x.`mail_struct` ,x.`page_web` from brut as x LEFT JOIN typologie as y ON x.typologie = y.typologie LEFT JOIN pays as z ON x.pays = z.pays
Merci :-)
