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.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.