SQL SERVER 如何 Truncate 具有 Foreign Key 的資料表
當想要清空資料表時,我們可以用 TRUNCATE
語句來達到,但是當該資料表有使用外部索引鍵時,會出現如下錯誤:
1 | 無法截斷資料表'Table',因為該資料表正由FOREIGN KEY 條件約束參考 |
因為外部索引鍵的關係造成無法執行 TRUNCATE
語句,當然我們可以直接用 DELETE
語句來清空資料,不過資料表中如果具有自動增值 (Auto increase) 的識別 (Identity) 欄位,編號並不會重新計算。這時候可以用兩種方法來達成目的:
第一種:
先刪除 FK 的限制後,使用 TRUNCATE
語句,最後再將 FK 重新建立回來。
第二種:
當資料表很多又可能有很多 FK 的時候,使用第一種方式顯然是相當麻煩,這時候可以使用下面的語句達到目的
1 | USE [DbName] |
用 DELETE
語句刪除資料之後,再將編號重置為 0 即可
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 小殘的程式光廊!
Comment