Je viens de réaliser un truc : MySQL ne demande à locker la table que dans les 
cas où on utilise ensuite l'ID produit par le dernier INSERT. Donc ça colle.
J'ai fait cela :

LOCK TABLES `notices` WRITE, `analysis` WRITE
INSERT INTO `notices` SET ...
// si l'insert s'est bien passé :
  INSERT INTO `analysis` ...
  // si l'INSERT dans analysis s'est bien passé
    // rien
  // sinon
    DELETE FROM `notices` WHERE id=id du dernier insert
UNLOCK TABLES

Je crois que c'est bon comme ça, une notice de dépouillement n'a aucune raison 
d'exister si elle n'est pas référencée dans la table analysis (question de 
cohérence)...

Oki ?


François

Selon François Lemarchand <[EMAIL PROTECTED]>:

> Question de M. François Lemarchand de Saint-Lô dans la Manche.
> 
> Sur un lien MySQL, j'envoie cette requête :
> 
> LOCK TABLES `notices` WRITE
> 
> Puis celle-ci :
> 
> INSERT INTO `notices` SET ...
> 
> A la fin, quoi qu'il advienne, je fait cela :
> 
> UNLOCK TABLES
> 
> Est-ce que c'est bon ? (de toute façon, sans le LOCK, MySQL râle...)
> 
> Maintenant, j'ai besoin d'une autre requête : Puis-je faire cela :
> 
> LOCK TABLES `notices`, `analysis` WRITE
> INSERT INTO `notices` SET ...
> INSERT INTO `analysis` SET ...
> UNLOCK TABLES
> 
> Apparement, ça fonctionne... Mais est-ce clean ?
> 
> Tentez vous le banco ?
> 
> Oui, alors : Faut-il verrouiller les tables en lecture également ?
> 
> Merci de vos réponses et à +
> 
> 
> -- 
> François Lemarchand
> homepage : http://balno.free.fr/
> PhpMyBibli : http://phpmybibli.sourceforge.net
> 
> Liste de diffusion phpmybibli.devel
> Pour se désinscrire :
> mailto:[EMAIL PROTECTED]
> 
> 


-- 
François Lemarchand
homepage : http://balno.free.fr/
PhpMyBibli : http://phpmybibli.sourceforge.net

Liste de diffusion phpmybibli.devel
Pour se désinscrire : mailto:[EMAIL PROTECTED]

Répondre à