Transactions MySql et gestion des erreurs
3 messages
• Page 1 sur 1
- Xophe
- WRInaute discret

- Messages: 161
- Inscription: 23 Mar 2005
Transactions MySql et gestion des erreurs
Bonjour,
je travaille à la création d'un site marchand et je suis face au pb classique des "transactions". Il s'agit par exemple de m'assurer que si je vends un produit, il est bien supprimé du stock du marchand et crédité sur le compte de l'acheteur.
Dans la mesure où il s'agit de 2 requêtes:
- je supprime le produit du stock du marchand
- je crédite le compte de l'acheteur
que faire si la seconde requête échoue ?
- remettre le produit au stock du marchand... mais que faire alors si cette requête aussi échoue
- avoir un système de logs pour détecter une incohérence dans mon modèle... mais ne pas baser ce système sur MySql. Par email ? Ecriture dans un fichier ?
Mais au fond, qu'est-ce qui peut provoquer l'échec d'une requête si une précédente s'est exécutée sans soucis qq ms plus tôt ?
Au fond, pas mal de questions
Comment faites-vous de votre côté ?
Merci
je travaille à la création d'un site marchand et je suis face au pb classique des "transactions". Il s'agit par exemple de m'assurer que si je vends un produit, il est bien supprimé du stock du marchand et crédité sur le compte de l'acheteur.
Dans la mesure où il s'agit de 2 requêtes:
- je supprime le produit du stock du marchand
- je crédite le compte de l'acheteur
que faire si la seconde requête échoue ?
- remettre le produit au stock du marchand... mais que faire alors si cette requête aussi échoue
- avoir un système de logs pour détecter une incohérence dans mon modèle... mais ne pas baser ce système sur MySql. Par email ? Ecriture dans un fichier ?
Mais au fond, qu'est-ce qui peut provoquer l'échec d'une requête si une précédente s'est exécutée sans soucis qq ms plus tôt ?
Au fond, pas mal de questions
Merci
- jcaron
- WRInaute accro

- Messages: 2687
- Inscription: 13 Fév 2004
Re: Transactions MySql et gestion des erreurs
Xophe a écrit:Comment faites-vous de votre côté ?
Ben on utilise des "transactions" justement.
http://dev.mysql.com/doc/refman/5.1/en/commit.html
La BDD doit garantir que soit toutes les opérations de la transaction (entre le begin et le commit) ont été exécutées, soit qu'aucune ne l'a été (et tu sais lequel des deux cas s'est produit), et que même en cas de plantage du serveur après le commit, tout ce qui a été exécuté sera toujours là au redémarrage.
Bon ça c'est la théorie (propriétés ACID tout ça), de mémoire mysql n'est pas très doué de ce point de vue avec les tables myisam, il vaut mieux s'orienter vers du innodb (mais je laisse la parole à ceux qui connaissent mysql mieux que moi).
Jacques.
3 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Gestion des erreurs Mysql
- gestion des erreurs
- Gestion des erreurs 404
- Rewrite + gestion des erreurs 404, ..
- Gestion erreurs : comment l'indiquer à Google ?
- Google Webmaster : gestion des erreurs 404
- Framework et gestion des erreurs 404 (redirection ou pas?)
- [Mysql] Gestion de la mémoire
- Gestion commerciale en PHP / MySQL
- [script] Relatif à Mysql (gestion d'erreur, etc.)
Consultez la description détaillée des produits ou services de Google suivants : Google Checkout
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
