Bonjour, j'ai un petit problème et je ne sais pas comment m'y prendre
Voilà : je copie le contenu d'une table A dans une table B avec cette commande
Cela fonctionne sans problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mysql_query("INSERT INTO `B` SELECT * FROM `A` WHERE <ma-clause>");
J'ai souhaité ensuite modifier un champ des nouvelles entrées ainsi crées dans la table B. J'ai tenté de faire ceci :
Mais évidemment en utilisant comme clause mysql_insert_id() seule la dernière ligne copiée dans la table B est modifiée. Or si la requete insert crée plusieurs entrées, je souhaiterai que chacune de ces entrées soient affectées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mysql_query("UPDATE `B` SET <mon-champ-a-modifier> WHERE `id`='".mysql_insert_id()."'");
Donc ma question : existe-t-il une ligne de commande à ajouter à ce code :
pour qu'en plus à chaque entrée créée dans la table B, cette entrée ai un champs mis à jour (<mon-champ-a-modifier>) Un truc que j'imagine dans le genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mysql_query("INSERT INTO `B` SELECT * FROM `A` WHERE <ma-clause>");
Ou sinon une autre solution...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mysql_query("INSERT INTO `B` SELECT * FROM `A` WHERE <ma-clause> AND `<le-champ-a-modifier-dans-la-derniere-insertion-de-B>`='<la-valeur>'");
merci d'avance![]()
Partager