Eléphant du PHP |
332 Messages
07 août 2006, 09:29
Tu entend quoi par faire un Rollback ?
Lorsque tu fais des insert, des update ou des delete dans une base de données qui supporte les transactions, les données ajoutées, modifiées ou effacées ne sont pas directement inscrites dans la base de données, mais dans une zone tampon.
Tant que ces données ne sont pas explicitement validées, les autres utilisateurs de la base travaillent sur les données originales tandis que toi (et seulement toi) travaille sur les données modifiées.
A ton gré, tu peux valider les modifications en effectuant un ordre commit et donc les rendre visible pour tout le monde et définitivement inscrites dans la base ou les annuler (ordre rollback) et revenir aux données originales.
Mais cela n'est valable que dans les bases qui supportent les transactions. Malheureusement, les tables en MyISAM ne supportent pas ce mécanisme et chaque ordre insert, update ou delete est définitivement inscrit dans la base de données.
Tu dois donc déjà commercer par regarder si tu peux passer tes tables en InnoDB : le type de table est modifiable via phpMyAdmin.