在SQL服務器中,我使用查詢更新了一個表,而無需放置條件。 現在我想要表中的所有記錄。我怎樣才能找回所有的行。 該查詢直接執行而沒有使用任何事務。由於錯誤我更新了一個表,而不會放在哪裏條件。現在我想要表中的所有記錄。我如何取回所有行
-1
A
回答
3
您可以在這裏做三件事。
選項1:做一個完整的從備份
這將數據庫重置回以前的時間點恢復。之後在數據庫中修改的任何內容都將丟失。
選項2:做一個完整的從備份恢復和重播事務日誌
這會首先做一樣的選擇1,但然後重播,你在備份後的數據庫做了所有的修改。很明顯,你只會重播事務日誌,直到你搞砸爲止。
方案3:啓動數據手動
這裏拼湊你基本上要回去和更新與「新」的舊數據行。此數據任何源你可能將是無價在這裏,像打印,截屏,內存等
既然你已經說過你沒有備份你現在有提前3個任務你:
- 啓動備份數據庫
- 學一招,當涉及到手動更新數據庫以上
- 選項3,拼湊數據,更新的行回到他們的舊值,就儘可能
訣竅:如何當你怕搞亂
的基本上,你這樣寫你的SQL腳本來更新數據庫:
BEGIN TRANSACTION
SELECT ... anything you need to verify that the update has NOT taken place
UPDATE ... your update statement (or DELETE, INSERT, etc.)
SELECT ... anything you need to verify that the update HAS taken place
ROLLBACK TRANSACTION
在做這種方式您可以嘗試一下,只要您沒有在Management Studio中專門選擇一段SQL並僅執行該操作即可。當您確認一切正確後,包括告知您更新/刪除/插入了多少行的消息,然後您將ROLLBACK TRANSACTION
替換爲COMMIT TRANSACTION
並實際保存更改。
相關問題
- 1. 我恢復了一個提交。現在我想要所有回
- 2. 我在我的表進行更新時,有一個SQL錯誤
- 3. 我要更新表中的所有行。這裏是我的查詢
- 4. SQL有隻得到第一個記錄的行表,我想所有
- 5. 我有一個錯誤,而將我的所作所爲
- 6. 我在我的表約40,000記錄,我想刪除最後一列中位數的所有記錄
- 7. 我有一個表格,我想添加所有的不等於零
- 8. 我想獲取從我的數據庫表中的所有記錄無新近添加的記錄
- 9. 更新所有記錄 - 沒有條件
- 10. 即使JOINed表中沒有相應的記錄,我如何從一個表中獲取所有記錄?
- 11. 嵌套哈希映射更新所有鍵的所有值,而不是我想要更改的所有值
- 12. 我不能修復我面對我的代碼錯誤,我下載了所有需要的Jar文件我想
- 13. 我想使用For循環顯示錶中的所有記錄
- 14. 所有由我在所有的分支裏所做提交
- 15. 我想知道如何在發佈新內容時返回所有記錄?
- 16. 我需要連接兩個表才能從student_info表中獲取所有記錄
- 17. 我想在cyrstal報告中記錄一條記錄,但是需要檢索所有記錄
- 18. 我如何刪除在訪問表中的所有記錄,除了最近
- 19. 我想在我的SQL更新記錄,但它更新所有數據沒有得到正確的ID
- 20. 如果我想讓我的教室裏除了我的所有屏幕空白,我應該從哪裏開始?
- 21. 在PHP更新我的SQL查詢我的所有條目不只是一個
- 22. 我想在我的下拉列表中列出所有國家,我可以在哪裏獲得該Web服務?
- 23. 如何分別顯示兩個表條目(我的表格出現在一個表中的所有條目)
- 24. 更新功能更新所有記錄而不是一個
- 25. 我放棄了一個表,要創建一個新的 - 但我不想失去我的其他表
- 26. 回發到下拉列表中的一個記錄,而不是所有記錄
- 27. 當我顯示錶中的記錄時,有時會在記錄中顯示此符號。我想明白爲什麼它有時會來。?我不想要它。
- 28. 我需要循環表中的所有記錄
- 29. JavaScript不讀取我所有的條件
- 30. 我改變了JRE,現在所有程序有錯誤
從備份中恢復。 –
我沒有該表的任何備份。 –
然後你沒有生產數據庫。如果您對數據庫的備份不夠關心,爲什麼您會關心它包含錯誤的數據? –