2013-02-05 42 views
5

在Android SQLite中,我有一個表MyTable。在升級數據庫後,我錯誤地刪除了它。SQLIte DROP表ROLL返回

如何在可能的情況下滾動返回表格。

任何好的答案都將被接受。

謝謝。

+0

相關:https://開頭stackoverflow.com/questions/454942/undelete-accidentally-deleted-records-in-sqlite3 –

回答

2

刪除表格不是一個可恢復的操作。

SQLite documentation

的DROP TABLE語句刪除使用CREATE TABLE語句添加的表。指定的名稱是表名。

將刪除的表從數據庫架構和磁盤文件中完全刪除。 表格無法恢復。與該表關聯的所有索引和觸發器也被刪除。

如果您想恢復數據,則需要從頭開始重新創建它(或者如果可能的話,從備份中重新創建它)。

+0

什麼是劃痕。 – Unknown

+0

@Cobra:「從頭開始」,意思是「從頭開始」。 – paxdiablo

+0

哦,謝謝,我知道了。 – Unknown

3

對不起,沒有。

您可以提交或回滾DML語句,如「插入」或「刪除」(只要您在事務中執行)。

不幸的是,你不能回滾一個像「alter table」或「drop table」這樣的DDL語句。

從手冊:

的DROP TABLE語句刪除添加的表與CREATE TABLE語句 。指定的名稱是表名。刪除的表是 完全從數據庫架構和磁盤文件中刪除。 表無法恢復。與 表相關的所有索引和觸發器也被刪除。

PS:

這個環節討論 「DDL」, 「DML」 及相關縮略詞,如果你有興趣:

+0

謝謝你回答保羅。 – Unknown

+1

這是不正確的。如果您在事務內部發出DROP TABLE註釋,則可以通過執行ROLLBACK來恢復它。但是,我不認爲這是OP所做的事情,所以與他的問題無關。 –