bonjour
tout d'abord merci à Ekilio pour sa reponse en mp, mais je galere toujours sur ce sujet: transactions en PDO et les LOCK TABLE
je voudrais traiter des entrées dans ma base de donnée en utilisant une transaction pour faire des ajout et suppression d'entrée dans differentes tables.
MAIS ce traitement de donnée ne doit pas etre effectué au meme moment par plusieurs joueurs connectés
je me suis donc penché vers les LOCK TABLE
mais je ne suis pas certain de comprendre la difference entre LOCK TABLE et SELECT LOCK IN SHARE MODE
lequel des deux dois je utiliser? et j'ai cru comprendre qu'avec les transaction PDO les LOCK posent soucis
voici mon pseudo code:
merci a ceux qui ont pris le temps de lire ce pseudo code car je sais que ce n'est pas toujours tres agreable...
est ce que les LOCK IN SHARE MODE bloquent l'acces totalement durant le SELECT et faut-t-il unLOCKer les table apres une telle requete?
quels conseils avisés de grand chef SQL me conseillez vous au sujet des LOCK ?
encore merci ;-)
tout d'abord merci à Ekilio pour sa reponse en mp, mais je galere toujours sur ce sujet: transactions en PDO et les LOCK TABLE
je voudrais traiter des entrées dans ma base de donnée en utilisant une transaction pour faire des ajout et suppression d'entrée dans differentes tables.
MAIS ce traitement de donnée ne doit pas etre effectué au meme moment par plusieurs joueurs connectés
je me suis donc penché vers les LOCK TABLE
mais je ne suis pas certain de comprendre la difference entre LOCK TABLE et SELECT LOCK IN SHARE MODE
lequel des deux dois je utiliser? et j'ai cru comprendre qu'avec les transaction PDO les LOCK posent soucis
voici mon pseudo code:
Code :
try
{
$num_rows=0;
//
// tant qu'il y a des elements succeptible d'être traités, on fait une boucle
//
while ($num_rows>=1)
{
$connexion->beginTransaction();
$result=$connexion->query("SELECT id FROM table WHERE $time>=time LOCK IN SHARE MODE");
$num_rows = $resultats->rowCount();
//
// ici on va traiter tout un tas de table differente en SELECT IN LOCK SHARE MODE
// et faire des operation d'ecriture et d'effacement sur des tables
//
}
$connexion->commit();
}
catch(PDOException $e)
{
$connexion->rollBack();
exeption($e);
}
merci a ceux qui ont pris le temps de lire ce pseudo code car je sais que ce n'est pas toujours tres agreable...
est ce que les LOCK IN SHARE MODE bloquent l'acces totalement durant le SELECT et faut-t-il unLOCKer les table apres une telle requete?
quels conseils avisés de grand chef SQL me conseillez vous au sujet des LOCK ?
encore merci ;-)