2013-02-05 10 views
5

In SQLite Android ho avuto un tavolo MyTable. Per errore l'ho lasciato dopo aver aggiornato il DB.SQLIte DROP table ROLL back

Come ROLLARE POSTERIORE quella tabella caduta se è possibile.

Qualsiasi risposta valida sarà accettata.

Grazie.

+0

correlati: https: // stackoverflow.com/questions/454942/undelete-accidentally-deleted-records-in-sqlite3 –

risposta

2

L'eliminazione delle tabelle non è un'azione recuperabile.

Dal SQLite documentation:

L'istruzione DROP TABLE rimuove una tabella aggiunto con l'istruzione CREATE TABLE. Il nome specificato è il nome della tabella.

La tabella rilasciata viene completamente rimossa dallo schema del database e dal file del disco. La tabella non può essere ripristinata. Vengono eliminati anche tutti gli indici e i trigger associati alla tabella.

Se si desidera che i dati indietro, avrete bisogno di ricreare da zero (o dai backup, se possibile).

+0

cos'è zero. – Unknown

+0

@Cobra: "da zero" che significa "dall'inizio". – paxdiablo

+0

ohh grazie, ho capito. – Unknown

3

Siamo spiacenti, no.

È possibile eseguire il commit o il rollback di istruzioni DML come "insert" o "delete" (a condizione che lo si effettui all'interno di una transazione).

Sfortunatamente, non è possibile eseguire il rollback di un'istruzione DDL come "alter table" o "drop table".

Dal manuale:

L'istruzione DROP TABLE rimuove una tabella aggiunto con il CREATE TABLE dichiarazione. Il nome specificato è il nome della tabella. La tabella eliminata è completamente rimossa dallo schema del database e dal file del disco. La tabella non può essere ripristinata. Vengono eliminati anche tutti gli indici e i trigger associati alla tabella .

PS:

Questo link discute "DDL", "DML" e acronimi relativi, se siete interessati:

+0

grazie per la risposta paolo. – Unknown

+1

Questo non è vero. Se si rilascia un commento DROP TABLE all'interno di una transazione, è possibile recuperarlo eseguendo ROLLBACK. Tuttavia, non penso che sia ciò che OP sta facendo, quindi non è molto pertinente alla sua domanda. –