Page 1 sur 1

Requete pour copier des informations

Posté : 13 mai 2009, 12:18
par guigui69
Bonjour à tous,

je voudrait savoir si il existe une commande mysql pour pourvoir copier une série d'information dans la même table.


Exemple:
nous avons une table ou il y a 20 enregistrement pour le produit croissant. Nous voudrions recopier ces enregistrement dans la même table mais en changeant la ref_pdt (croissant fraise)


table:

Code : Tout sélectionner

-- Version de PHP: 5.2.1 -- Structure de la table `recette` CREATE TABLE `recette` ( `num_rctt` int(11) NOT NULL auto_increment, `ref_pdt` int(11) NOT NULL, `code_m` int(11) NOT NULL, `qte_m` decimal(10,4) NOT NULL, `fourrage_rctt` int(11) NOT NULL, `nbuniteparrecet` int(11) default NULL, PRIMARY KEY (`num_rctt`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=914 ; -- -- Contenu de la table `recette` -- INSERT INTO `recette` (`num_rctt`, `ref_pdt`, `code_m`, `qte_m`, `fourrage_rctt`, `nbuniteparrecet`)
id_recette_mat (clé primaire s'incremente tout seul)
id_mat
qte_recette
ref_pdt.


nous voudrions recopier les 20 enregistrements avec ref_pdt=croissant dans cette même table mais avec un ref_pdt différent= croissant fraise.

Code : Tout sélectionner

INSERT INTO recette SET id_mat ,qte_recette, ref_pdt VALUES ((SELECT id_mat, qte_recette FROM recette WHERE ref_pdt=croissant), Croissant_fraise);
Est-ce que c'est réalisable? Mon exemple ci-dessus est-il correct?

Merci

guigui69

Posté : 13 mai 2009, 15:28
par dunbar
salut,

Simplement comme ceci je pense :?:
Mettre uniquement le champ ref_pdt à jour.
$update = "UPDATE recette SET ref_pdt='croissant'";
Comme cela TOUTE les lignes ref_pdt aurons la valeur de croissant

Posté : 13 mai 2009, 15:41
par guigui69
Merci pour ta réponse mais je pense pas.

En fait la personne est sur une page php, elle remplis diverse information, puis en bas une liste déroulante lui demande quel produit elle veut copier.

Car mon but est de copier des enregistrement qui existe deja et les attribué a ce nouveau produit voulus, Mais en aucuns mettre à jour les champs existant dans ma table.


Merci

guigui69

Posté : 13 mai 2009, 15:51
par agité
Merci pour ta réponse mais je pense pas.

En fait la personne est sur une page php, elle remplis diverse information, puis en bas une liste déroulante lui demande quel produit elle veut copier.

Car mon but est de copier des enregistrement qui existe deja et les attribué a ce nouveau produit voulus, Mais en aucuns mettre à jour les champs existant dans ma table.


Merci

guigui69
En fait tu as des enregistrement dans une table qui sont associés à des produits et tu voudrait les associer à de nouvelles références, par exemple faire en sorte que entrée 1 puisse être dans 2 catégories (croissant / croissant fraise).

J'arrive pas à comprendre ou c'est pas très clair ou c'est que je n'arrive pas à voir la liaison entre les objets.

Si tu veux associer toute une liste d'éléments à une catégorie ou sur plusieurs catégorie ou alors un élément à une catégorie ?

Posté : 13 mai 2009, 16:06
par dunbar
J'ai du mal a comprendre sorry :oops:

Posté : 13 mai 2009, 16:49
par guigui69
En fait de manière simple:


Ma table recette, comporte 20 enregistrement pour la ref_pdt=20, je voudrait copier-coller ses 20 enregistrement dans cette même table mais en changeant le ref_pdt en 21.( sans modifier les enregistrement pour le ref_pdt=20)


en fait c'est faire copier coller de champ dans la même table mais en champs une des informations.

_____________________________________________________________________________________


Maj:

Voici une exemple de requete:

Code : Tout sélectionner

INSERT INTO recette (ref_pdt, code_m, qte_m, fourrage_rctt, nbuniteparrecet) SELECT $ref_NOUVEAU, qte_m, fourrage_rctt, nbuniteparrecet FROM recette WHERE ref_pdt='$ref_a_copier';
Est-ce correct?

guigui69