我正在使用Mysql並且錯誤地刪除了非常重要的細節。有沒有辦法在Mysql中恢復已刪除的記錄?有沒有辦法在一個月前刪除Mysql中已刪除的行
回答
我知道這是不是真的,你問什麼,但我覺得很重要的是你知道這一點。
我建議的系統是大數據。它的工作原理如下:
在表創建一個新的列(前表人):
ID | Name | Deleted 1 | Bob | 0 2 | Frank | 1 3 | Alice | 0
隨着0爲取消刪除和1爲已刪除在最後一欄與該類型
BOOLEAN
。名稱和ID分別爲NVARCHAR
和INT
如果你想刪除的記錄,你不要用
DELETE
語句刪除它,但更新這樣的:UPDATE people SET Deleted = 1 WHERE ID = 1
結果:
ID | Name | Deleted 1 | Bob | 1 2 | Frank | 1 3 | Alice | 0
你知道ID的1和2被刪除,因爲在
Deleted
列中的布爾值爲1.愛麗絲與ID 3不會被刪除,因爲布爾是在第0
該系統的pro是你可以只用一個聲明恢復數據!
UPDATE people SET Deleted = 0 WHERE Deleted = 1
結果:
ID | Name | Deleted
1 | Bob | 0
2 | Frank | 0
3 | Alice | 0
現在所有的記錄中恢復,因爲在Deleted
列布爾是0
如果使用DELETE
聲明,這是不可能收回所有記錄!它們會被永久刪除,如果您使用DELETE
語句,則永遠無法恢復。您只能使用一個備份文件進行恢復,但也已經禁忌的,如:
- 這是一箇舊的備份文件,
- 我已經忘了做一個,
- 我不知道你怎麼能撐得
- 我已經失去了它,
- ...
通過大數據和他更新你改變只有一列,你有你的數據備份。
編輯:
的禁忌大數據的是(如你所說)數據不完全從數據庫中刪除。這只是一個從0到1的列。但如果你知道你可以從數據中賺錢......這是另一回事。
如果要準確刪除它,可以使用DELETE
語句。有很多的網站,程序,使用大數據,如服務:
- 堆棧溢出交易所的其他社區(僅註釋與
DELETE
語句中刪除,問題不是) - 郵件服務器如Gmail,Hotmail的,雅虎(從收件箱中的垃圾,然後取出)
- 從計算機中刪除文件夾或文件(從原來的位置移到回收站,然後取出)
- 社交媒體網站
- ...
有關大數據的更多信息,您可以查看this wikipedia article。
非常感謝您的詳細信息,非常有用的一個。因此,首先我需要添加一列刪除。但事實上,在命令後,更新人員SET刪除= 1 WHERE ID = 1信息沒有刪除從Db?我的目標與刪除是沒有沉重的Db與奇怪的信息,這就是爲什麼我刪除記錄 –
是的,Luïs建議你從來沒有實際刪除任何行,你只是有一個刪除列包含1或0.如果值是1,那麼列被刪除。所以你只需選擇你的數據'WHERE deleted = 0'。這將防止丟失數據行的任何問題 –
是的,我知道這一點。這是使用大數據的對立面。但如果你知道數據就是金錢......你就去想想金錢。如果你準確地刪除它,你也可以使用'DELETE'語句修改'UPDATE',如果用戶想要的話。 –
您是否有插入這些記錄的日期的binlog文件?
然後你就可以得到插件,並把它背
你可以解釋一下,我是binlog中的新手@Bernd Buffen –
MySQL在二進制日誌文件中寫入任何「寫入」。這是可用於複製或恢復 在這裏你可以找到詳細信息 https://mariadb.com/kb/en/mariadb/binary-log/ –
在該文件中,我可以找到一個信息被刪除某個日期? –
- 1. 有沒有辦法在INFORMIX-SQL中取消刪除已刪除的行?
- 2. 有沒有辦法在Mysql數據庫中恢復已刪除的行?
- 3. 在刪除行之前,有沒有辦法在MySql中檢查約束違規?
- 4. 有沒有辦法在mysql中做批量/更快的刪除?
- 5. 有沒有辦法在HBase上進行硬刪除(真正的刪除)?
- 6. 有沒有更好的方法來刪除python中一個月前的文件?
- 7. 有沒有辦法從StreamReader中刪除第一行
- 8. 有沒有辦法刪除window.open事件?
- 9. 有沒有辦法刪除FILE_FLAG_DELETE_ON_CLOSE?
- 10. 有沒有辦法在2d數組中刪除特定的行?
- 11. 有沒有辦法從隊列中刪除一個項目?
- 12. 有沒有辦法從一個數據庫中刪除'sysmessages'表?
- 13. 有沒有辦法跟蹤已經刪除的實體?
- 14. 有沒有辦法在Enterprise Architect中刪除多個標記值?
- 15. MySQL:刪除在另一個表中沒有匹配的行
- 16. 前端mysql,刪除一行
- 17. 可可:有沒有辦法一次刪除幾個文件?
- 18. VS Designer有沒有辦法刪除一個事件?
- 19. MySQL行在刪除後沒有更新
- 20. 有沒有辦法刪除未使用的JS庫的行?
- 21. 刪除沒有前導零的行
- 22. 在DataMapper中有沒有辦法訪問偏執的已刪除記錄?
- 23. 有沒有辦法從TableLayoutPanel的一行中刪除所有控件?
- 24. SQLAlchemy的是有沒有辦法刪除執行
- 25. 已刪除的記錄沒有從列表中刪除
- 26. 有沒有辦法一次性刪除localStorage的全部內容?
- 27. 有沒有辦法在objectDB的資源管理器中刪除一個表?
- 28. 有沒有辦法重新嘗試從已刪除的作業隊列中刪除的作業?
- 29. MySQL的刪除重複一個月
- 30. 有沒有辦法從一個js對象中刪除一個全屬性
提示:用布爾值創建一個新列。如果該布爾值爲0,則該記錄已被刪除,如果1不被刪除。始終更新該列,並且永不丟失數據。不要使用'DELETE'語句。 –
如果你決定實際使用'DELETE',另一個選擇是保留一個保存已刪除記錄的備份數據庫。 –
@ Luis你可以詳細一點,我可以在刪除信息的地方做什麼,所以通過人爲錯誤,我刪除了真正的信息多餘的刪除測試一,但刪除了真實 –