Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment produire des lectures fantômes ?

La "lecture fantôme" dans MySQL au niveau d'isolement RR est profondément cachée, mais peut toujours la reproduire. Voici les étapes :

  1. créer la table ab(a int clé primaire, b int);

  2. Tx1 :
    commence ;
    sélectionnez * de ab ; // ensemble vide

  3. Tx2 :
    commence ;
    insert into ab values(1,1);
    commit;
  4. Tx1 :
    sélectionnez * de ab ; // ensemble vide, lecture fantôme attendue manquante.
    mettre à jour ab set b =2 où a =1 ; // 1 ligne affectée.
    sélectionnez * de ab ; // 1 ligne. lecture fantôme ici !!!!
    s'engager ;