Insertions multiples + gestion des erreurs

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 : Insertions multiples + gestion des erreurs

par Gorghor » 21 mai 2009, 17:18

Effectivement, c'est parfaitement adapté à ma situation! Merci beaucoup!!

par Sékiltoyai » 21 mai 2009, 00:01

Des transactions peut être ?
Parce que c'est exactement le fonctionnement des transactions…

Insertions multiples + gestion des erreurs

par Gorghor » 20 mai 2009, 17:04

Salut,

Me voilà de nouveau confronté à un probleme de logique SQL.
Sur mon projet actuel, l'utilisateur a la possibilité d'ajouter une annonce sur le site. Cette annonce comporte des éléments stockés sur 4 tables différentes (l'annonce elle-même, l'adresse, un nombre x de fichiers et un log).

Comment faire pour inserer dans les 4 bases de facon intelligente?

Pour l'instant, je procède de facon linéaire:
  • - j'ajoute d'abord l'adresse si elle est définie ds la table adresses
    - je récupère l'id_adresse, j'ajoute ensuite l'annonce ds la table annonces
    - je récupère l'id_annonce, j'ajoute les x fichiers ds la table fichiers
    - j'ajoute une premiere entrée ds le log
Si lors de l'une des 4 étapes il y a une erreur , je fais un DELETE sur chaque entrée concerné et je renvois au formulaire, sinon je renvois sur l'annonce fraîchement ajoutée.

Est-ce une approche raisonnable ou serait-il plus malin de procèder autrement (table temporaire? autre?)
De plus, suite a mes recherches, je ne sais plus vraiment si se fier à l'id automatique (avec auto increment) est vraiment une bonne idée.

Merci!
Ludwig