Pourquoi la transaction suivante n'est pas annulée lors de l'utilisation du moteur InnoDB?Les transactions ne sont pas annulées avec MySQL/InnoDB
create table test (i integer) Engine = InnoDB;
begin;
insert into test(i) values(10);
insert into test(i) values(20);
rollback;
select count(*) from test;
renvoie 2 au lieu de 0!
Qu'est-ce qui me manque? Pourquoi cela arrive-t-il? Que devrait-on faire pour qu'il se comporte correctement?
Edit:
- même ne fonctionne pas si je l'utilise
start transaction
au lieu debegin
- J'ai essayé avec les deux 5.0.51 et 1.5.49 sur Debian Lenny x86_64.
Réponse:
J'ai réinstallé à partir de zéro DB, y compris le retrait complet des installations précédentes (purge) - et réinstallé depuis le début.
Maintenant ça marche.
Je serais très heureux si quelqu'un peut m'expliquer ce qui s'est mal passé!
où est votre 'START TRANSACTION'? –