Frage

Ich möchte etwas laufen Tabelle ändern Aussagen in einer SQLite3 -Datenbank. Was passiert, wenn der Benutzer den Prozess abtötet oder die Leistung während der Altertabelle ausgeführt wird? Wird die Datenbank in einem korrupten Zwischenzustand gelassen?

War es hilfreich?

Lösung

Von dem Transaktions Seite in der Dokumentation:

Alle Änderungen innerhalb einer einzelnen Transaktion in SQLite treten entweder vollständig oder gar nicht auf

* a program crash,
* an operating system crash, or
* a power failure.

Und von Eine andere Seite in der Dokumentation:

Jeder Befehl, der die Datenbank ändert (im Grunde genommen, startet jeder andere SQL -Befehl als ausgewählte) automatisch eine Transaktion, wenn einer noch nicht wirksam ist. Automatisch gestartete Transaktionen werden begangen, wenn die letzte Abfrage beendet ist.

Kombinieren Sie diese und die Antwort lautet nein. Ihre Datenbank wird während eines Stromausfalls nicht beschädigt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top