Aller au contenu

INSERT ... SELECT


Sujets conseillés

Posté (modifié)

Bonsoir,

Je ne parviens pas à mélanger les insertions de types SELECT et VALUES (et j'ai encore plus de mal à m'exprimer à ce sujet :blush:)

Voici la requête que je souhaiterai faire :

INSERT INTO objets (objets.idj,objets.idobj,objets.nom,objets.description,objets.effet,objets.ca
,objets.prix) 53, SELECT id,nom,description,effet,cat,prix FROM objets_liste WHERE id='1'

Bien évidemment, ça ne fonctionne pas. En fait, la documentation MySQL montre comment insérer rapidement dans une table un contenu qui se trouve déjà dans une autre table... Mais elle n'explique pas comment ajouter à ce nouveau contenu une information qui n'est pas présente.

Cette requête fonctionne :

INSERT INTO objets (objets.idobj,objets.nom) SELECT id,nom FROM objets_liste WHERE id='1'

Pour éclaircir un peu les choses, la table objets possède 3 champs (idj, idobj et nom), tandis que la table objets_liste en possède 2 (idobj et nom). Je voudrais faire en sorte, par une seule requête, que les informations présentes dans la table objets_liste soient copiée dans la table objets, et qu'en même temps, je puisse ajouter manuellement une valeur à idj.

Sinon... tant pis, on passera par plusieurs requêtes :nonono:

Merci et bonne saint valentin :wub:

Modifié par Silveur
Posté

Bonsoir,

La syntaxe d'une sous requête est la même que celle d'une requête saut qu'elle est entourée d'une parenthèse ouvrante et une parenthèse fermante. En te basant sur ce postulat tu peux en déduire qu'il est possible d'ajouter des données "fixes" lors de la sélection, la syntaxe est la suivante pour la requête que tu souhaites faire :

INSERT INTO objets (objets.idj, objets.idobj, objets.nom, objets.description, objets.effet, objets.cat, objets.prix) (SELECT '53', id, nom, description, effet, cat, prix FROM objets_liste WHERE id='1')

P.S. : Tant que le nombre de champs sont les mêmes tu n'auras pas de problème.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...