:: DEVELOPER ZONE
La gestion des erreurs avec InnoDB n'est pas toujours la même que
celle spécifiée par les standards ANSI SQL. En accord avec les
standards ANSI, toute erreur survenant durant une commande SQL devrait
provoquer l'annulation de celle-ci. InnoDB n'annule qu'une partie de
la commande de temps en temps, ou la totalité de la transaction. La
liste suivante spécifie la gestion des erreurs de InnoDB.
Si vous dépassez l'espace d'un fichier dans l'espace des tables, vous
obtiendrez l'erreur MySQL 'Table is full' et InnoDB annulera la
requête SQL.
Un deadlock de transaction ou un dépassement de temps dans un attente
de verrouillage fait annuler toute la transaction à InnoDB.
Une erreur de clef dupliquée annule l'insertion de la ligne concernée,
même dans une requête du genre INSERT INTO ... SELECT ....
Cela fera probablement en sorte que la commande SQL sera annulée si
vous n'avez pas spécifié l'option IGNORE dans votre requête.
Une erreur 'row too long' annule la commande SQL.
Les autres erreurs sont la plupart du temps détectées au niveau de la couche MySQL du code et annulent la commande SQL correspondante.
© 1995-2005 MySQL AB. All rights reserved.
