Page 1 sur 1

Annuler une requetes BEGIN WORK ?

Posté : 03 avr. 2008, 15:45
par jean-baptiste
Bonjour voilà un petit exemple et j'aimerai savoir si cela est possible :

J'ai deux requêtes X e Y ! J'aimerai faire en sorte et cela que en mysql que si l'insert de donné de ma requête X réussi mais que celui de Y échoue cela annule l'exécution de X ! Je le fessai en php mais j'ai entendu parler que on pouvais le faire en Mysql est-ce une question de BEGIN WORK ou peu etre de suppression en cascade ?

Si vous en avez entendu parler ou si vous avez une méthode je suis preneur je me rend compte que en faite mysql est bien plus riche que je le pensai !

Salutation Jean-Baptiste .

EDIT:

Bon en faite un collègue viens de trouver un bout de code qui répond à mon problème :

MYSQL stock donc tout sous une même variable fait des test et envoie tout d'un bloque si cela est bon !

Voilà le code pour ceux à qui ça interesse :

Code : Tout sélectionner

$rs1 = mysql_query("START TRANSACTION"); $rs2 = mysql_query($query1); $rs3 = mysql_query($query2); if($error) { $rsx = mysql_query("ROLLBACK"); } else { $rsx = mysql_query("COMMIT"); } Use mysql_error() or mysql_errno() to see if an error occurred.

Posté : 03 avr. 2008, 15:53
par Rei Itchido
C'est le principe des transactions ;)

http://dev.mysql.com/doc/refman/5.0/fr/commit.html

Posté : 03 avr. 2008, 15:56
par jean-baptiste
Oui c'était ça mais je ne comprenais pas vraiment il me fallait un exemple concret pour comprendre le principe et c'est ce que j'ai eu !

Merci quand même .