我試圖刪除我的數據庫中的重複記錄。唯一的區別是PrimaryKey是唯一標識符。我有大約1500個參賽作品被欺騙了,所以我在看3000場參賽作品。所以我分了大約60個條目(根據收到的日期),並執行我的代碼,將它們削減到30,OH CRAP 30消失了!這裏是我試過的代碼:試圖刪除SQL數據庫中的重複條目刪除了所有記錄。什麼地方出了錯?
DELETE dupes
FROM [emailTable] dupes, [emailTable] fullTable
WHERE (dupes.ReceivedOn > '2009-08-18 23:59:59.999' AND dupes.ReceivedOn < '2009-08-20 00:00:00.000')
AND (dupes.emlPath = fullTable.emlPath)
AND NOT (dupes.GUID = fullTable.GUID)
我的目標是刪除重複。我不在乎哪一個......但我需要兩個條目之一留在服務器上......任何人都可以闡明我做錯了什麼?
也許你已經這樣做了,但我不會刪除任何東西,或以任何方式修改生產數據而無需首先驗證查詢在具有ROLLBACK的事務中的效果。當你知道你是對的,將ROLLBACK改爲COMMIT。 – 2009-08-26 19:52:33
我不是!這可能會有所幫助。我該怎麼做呢? – swolff1978 2009-08-26 20:01:01
BEGIN TRAN *您的代碼在這裏* ROLLBACK TRAN COMMIT TRAN當受影響的行看起來像您期望的數字時,突出顯示COMMIT TRAN並執行它。 – 2009-08-26 20:05:03