J'ai deux tables. Une table est destinée à servir d'historique des transactions et l'autre est un journal des détails des membres. Quand un rapport est exécuté, je veux déplacer des parties des détails de membre dans l'histoire de transaction mais également mettre à jour quelques enregistrements de champ qui n'existeraient pas autrement.Est-il possible d'insérer des valeurs d'une table dans une autre et de mettre à jour les valeurs de champs dans la même requête?
Est-il possible de sélectionner tous les enregistrements qui répondent à un critère spécifique, d'insérer uniquement des parties de la ligne correspondante dans une autre table ET de mettre à jour d'autres champs dans une même requête?
Par exemple:
Dans le tableau 2, j'ai nom de membre, date d'inscription, et memberid. Je veux déplacer les enregistrements ci-dessus dans le tableau 1 mais également mettre à jour le champ (status) égal à 'traité'.
Note: J'utilise aussi php et pdo pour me connecter à une base de données mysql.
Est-ce possible dans une seule requête?
Pourquoi voulez-vous faire dans une seule requête? Pourquoi ne pas envelopper deux requêtes dans une [transaction] (http://dev.mysql.com/doc/refman/5.0/fr/commit.html)? – ircmaxell
bon point - plus je réfléchis, plus la seule requête semble inutile ... – JM4
Deux requêtes lisibles et efficaces valent mieux qu'une grande requête compliquée n'importe quel jour de la semaine. Les deux d'un point de vue sémantique et une performance. Ne soyez pas pris dans le piège de moins est toujours mieux (il ya des compromis bien sûr, mais ce n'est pas une vérité universelle) ... – ircmaxell