Latest web development tutorials

transaction SQLite

Transaction (Transaction) est une unité de travail sur la base de données. Transaction (Transaction) est une suite logique du travail ou d'une séquence complète, qui peut être fait manuellement par l'utilisateur, il peut être fait automatiquement par une sorte de programme de base de données.

Transaction (Transaction) fait référence à un ou plusieurs changements d'élargir la base de données. Par exemple, si vous créez un enregistrement ou d'une mise à jour d'enregistrement ou de supprimer un enregistrement de la table, vous effectuez une transaction sur la table. Il est important de contrôler l'opération afin d'assurer l'intégrité des données et la gestion des erreurs de base de données.

En fait, vous pouvez mettre beaucoup de SQLite requête fédération en tant que groupe, tous les mettre ensemble dans le cadre d'une transaction pour l'exécution.

Transactions immobilières

Transaction (Transaction) standard a les quatre propriétés suivantes, généralement basées sur l'acronyme ACID:

  • Atomicité (atomicité): veiller à ce que toutes les unités de travail dans les opérations sont terminées avec succès, sinon, la transaction sera résilié en cas de défaut, avant que l'opération sera annulée à un état antérieur.

  • Cohérence (Cohérence): Veiller à ce que le statut de changement de base de données correctement sur la transaction soumise avec succès.

  • Isolation (Isolation): la transaction de fonctionner de manière indépendante et transparente.

  • Persistent (durabilité): pour assurer que la transaction a été soumise résultats ou effets en cas de défaillance du système existe toujours.

Contrôle de transaction

Utilisez les commandes suivantes pour contrôler la transaction:

  • BEGIN TRANSACTION: begin transaction.

  • COMMIT: Sauvegardez vos modifications, ou vous pouvez utiliser la commande END TRANSACTION.

  • ROLLBACK: annuler les modifications.

commandes de contrôle de transaction qu'avec DML commandes INSERT, UPDATE et DELETE ensemble. Quand ils ne peuvent pas créer ou supprimer des tables à l'aide de la table, parce que ces opérations dans la base de données sont automatiquement validées.

Commande BEGIN TRANSACTION

Transaction (Transaction), vous pouvez utiliser la commande BEGIN TRANSACTION simple ou commande BEGIN pour commencer. Ces opérations durent généralement l'exécution se poursuit, jusqu'à la prochaine commande COMMIT ou ROLLBACK. Toutefois, lorsque la base de données est fermée ou une erreur se produit, la transaction sera annulée. Ce qui suit est le début d'une syntaxe simple de transaction:

BEGIN;

ou 

BEGIN TRANSACTION;

commande COMMIT

COMMIT commande est utilisée pour enregistrer les modifications apportées à la commande de transaction d'appel de transaction de base de données.

COMMIT commande pour enregistrer toutes les transactions depuis le dernier COMMIT ou ROLLBACK commande à la base de données.

COMMIT syntaxe de commande est la suivante:

COMMIT;

ou

TRANSACTION END;

commande ROLLBACK

commande ROLLBACK est une commande pour annuler la transaction n'a pas été enregistrée dans la base de données de la transaction.

commande ROLLBACK peut être utilisée pour annuler la transaction depuis la dernière commande COMMIT ou ROLLBACK émis depuis.

commande Syntaxe ROLLBACK est la suivante:

ROLLBACK;

Exemples

Supposons que la table de l'entreprise a les documents suivants:

ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
1 Paul 32 Californie 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvège 20000.0
4 Mark 25 Rich-Mond 65000,0
5 David 27 Texas 85000,0
6 Kim 22 Sud-Hall 45000,0
7 James 24 Houston 10000.0

Maintenant, nous allons commencer une transaction, et supprimer des enregistrements à partir de l'âge de la table = 25, et enfin, nous utilisons la commande ROLLBACK pour annuler toutes les modifications.

sqlite> BEGIN;
sqlite> DELETE FROM COMPANY OU AGE = 25;
sqlite> ROLLBACK;

Vérifiez table COMPANY, ont encore les documents suivants:

ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
1 Paul 32 Californie 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvège 20000.0
4 Mark 25 Rich-Mond 65000,0
5 David 27 Texas 85000,0
6 Kim 22 Sud-Hall 45000,0
7 James 24 Houston 10000.0

Maintenant, nous allons commencer une autre transaction, supprimer des enregistrements à partir de l'âge de table = 25, et enfin, nous utilisons la commande COMMIT pour valider toutes les modifications.

sqlite> BEGIN;
sqlite> DELETE FROM COMPANY OU AGE = 25;
sqlite> COMMIT;

Vérifiez table COMPANY, les documents suivants:

ID NOM ADRESSE AGE SALAIRE
---------- ---------- ---------- ---------- ----------
1 Paul 32 Californie 20000.0
3 Teddy 23 Norvège 20000.0
5 David 27 Texas 85000,0
6 Kim 22 Sud-Hall 45000,0
7 James 24 Houston 10000.0