Bonjour,
Je voudrais que dans ma base de données, les lectures soient impossibles lorsque une transaction est en cours.
Or il est dit ICI :
http://dev.mysql.com/doc/refman/5.0/...isolation.html
"SERIALIZABLE Ce niveau est identique au précédent, mais toutes les lectures SELECT sont implicitement converties en SELECT ... LOCK IN SHARE MODE. "
Donc j'ai paramétré ce mode de transaction, et j'ouvre 2 requeteur MYSQL.
D'un coté, je fait un :
START TRANSACTION
UPDATE ts_utilisateur_uti SET uti_log = 'BBBB' WHERE uti_id =38;
//je ne termine pas encore ma transaction Exprés
et de l'autre coté, je fait :
SELECT * FROM ts_utilisateur_uti
Résultat : mon sélect s'execute en affichant l'ancienne valeur du champ alors que la transaction n'est pas terminée.
Par contre, si je fait
SELECT * FROM ts_utilisateur_uti LOCK IN SHARE MODE
là ça bloque bien tant que je n'ais pas fait mon commit ou mon rollback de l'autre côté!!???
Donc c'est contradictoire avec ce qu'ils disent : ça ne rajoute pas "LOCK IN SHARE MODE" implicitement.
Quelqun a-t-il l'explication? Merci bien.
Partager