Supprimer plusieurs enregistrements et remplacer par un seul

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Supprimer plusieurs enregistrements et remplacer par un seul

Re: Supprimer plusieurs enregistrements et remplacer par un

par Mazarini » 17 juin 2014, 13:50

A mon avis, il vaut mieux faire ca en 3 étapes : select, delete et insert.
Tu peux ajouter un count(*) dans le select pour ne pas faire le delete et l'insert s'il n'y a qu'une ligne.

Pour faire ca en 1 commande, il faut faire une procédure stockée qui fera les 3 opérations avec 1 appel depuis PHP.

Supprimer plusieurs enregistrements et remplacer par un seul

par maestro1303 » 15 juin 2014, 18:36

Bonjour,

Est-il possible de supprimer plusieurs enregistrements dans une table après avoir fait un "résumé". Et insérer cet enregistrement "résumé" dans cette même table. Par exemple je veux faire:
1)

Code : Tout sélectionner

INSERT INTO T1 SELECT nombre , id1, id2, Min( convert( col1 , char( 8 ) ) ) , Min( convert( col2 , char( 8 ) ) ) , Min( convert( col3 , char( 8 ) ) ) FROM T2 GROUP BY id1
2)

Code : Tout sélectionner

delete from T1 where id1 IN(select...)
Donc si je groupe n lignes en une ligne L. Je supprime les n lignes puis j'insère L à la place.
Et je veux tout ça en une commande. Est ce possible?

Je suis sous MySQL


Merci infiniment.