uncategorized

Cannot truncate table,because it is being referenced by a FOREIGN KEY constraint?

今天測試資料完畢,想要把所有測試表全部truncate table,竟然出現下面字樣

Cannot truncate table ‘XXXXX’ because it is being referenced by a FOREIGN KEY constraint.”

現在才知道若是這個資料表的主索引,是別的資料表的FK,則不能直接使用 truncate table,將所有相關性資料一次清掉,若是依舊想要Trucate table,則最簡單方法就是把FK的設定拿掉,但是,每次測試資料完畢後,都要做這樣動作實在太費時了,想說因該有其他方法可以更Smart一點方法,於是,查了一下,發現竟然可以用下面方法就可以做到自動化刪除所有資料,這樣就可以減省還需要重新設定FK時間

1
2
DELETE [資料表名稱];
DBCC CHECKIDENT('資料表名稱', RESEED, 0);

簡單的兩行,就解決