Maison > Article > base de données > MySQL doit-il s'engager ?
Le fait que MySQL nécessite une validation lors de l'exécution d'opérations telles que l'insertion dépend de votre moteur de stockage qui ne prend pas en charge les transactions, telles que myisam, la validation ne sera pas efficace.
Cours recommandé : Tutoriel MySQL.
S'il s'agit d'un moteur qui prend en charge les transactions, tel qu'innodb, vous devez savoir si votre transaction prend en charge la soumission automatique des transactions (c'est-à-dire la validation)
Pour voir si votre base de données est automatiquement validé, vous pouvez utiliser mysql> show variables comme '%autocommit%' pour afficher, s'il est désactivé, il ne sera pas automatiquement validé et une opération de validation manuelle est requise (la ligne de commande peut directement "commit;") , sinon il sera automatiquement validé.
Il existe trois types de données soumises : la soumission explicite, la soumission implicite et la soumission automatique.
Ces trois types sont expliqués ci-dessous.
Soumission explicite
La soumission réalisée directement à l'aide de la commande COMMIT est une soumission explicite.
Soumission implicite
Une soumission effectuée indirectement à l'aide de commandes SQL est une soumission implicite. Ces commandes sont :
ALTER, AUDIT, COMMENT, CONNECT, CREATE, DISCONNECT, DROP, EXIT, GRANT, NOAUDIT, QUIT, REVOKE, RENAME.
Soumission automatique
Si AUTOCOMMIT est défini sur ON, une fois les instructions d'insertion, de modification et de suppression exécutées, le système
fera automatiquement un commit, qui est un commit automatique. Le format est : SQL>SET AUTOCOMMIT ON
Soyez prudent lorsque vous utilisez ces deux commandes COMMIT / ROLLBACK. COMMIT/ROLLBACK sont utilisés après l'exécution d'instructions DML (INSERT/DELETE/UPDATE/SELECT). Une fois l'instruction DML exécutée, les données traitées seront placées dans le segment d'annulation (à l'exception de l'instruction SELECT), en attendant que l'utilisateur effectue une validation (COMMIT) ou une restauration (ROLLBACK). Lorsque l'utilisateur exécute COMMIT/ROLLBACK, ce sera le cas. être placé dans le segment de restauration. Les données du segment seront supprimées. (Une fois l'instruction SELECT exécutée, les données sont stockées dans le pool partagé. Lorsque vous fournissez les mêmes données à d'autres personnes pour les interroger, elles sont extraites directement du pool partagé sans avoir à les extraire de la base de données, ce qui améliore la vitesse de traitement des données. requête.)
Toutes les instructions DML doivent être soumises explicitement, c'est-à-dire que COMMIT doit être exécuté après l'exécution de l'instruction DML. D'autres, comme les déclarations DDL, sont soumises implicitement. En d'autres termes, après avoir exécuté ces instructions non-DML, la base de données a déjà effectué une validation implicite, telle que CREATE TABLE. Après l'exécution du script, la table a été créée et vous n'avez plus besoin d'effectuer une validation explicite.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!