手冊上只說了truncate table不能截斷由外鍵約束引用的表。也沒給個例子。我自己寫一個吧。 還空著那麼多地方,也沒啥說的,鄙視那些無視版權隨意抓取博文的爬蟲小網站站長。
=================================版權聲明=================================
版權聲明:原創文章 禁止轉載
請通過右側公告中的“聯繫郵箱([email protected])”聯繫我
勿用於學術性引用。
勿用於商業出版、商業印刷、商業引用以及其他商業用途。
本文不定期修正完善。
本文鏈接:http://www.cnblogs.com/wlsandwho/p/5126708.html
恥辱牆:http://www.cnblogs.com/wlsandwho/p/4206472.html
=======================================================================
沒啥說的,鄙視那些無視版權隨意抓取博文的爬蟲小網站站長。http://www.cnblogs.com/wlsandwho
下麵開始點名
Asp.net教程_mvc4_C#_Ado.net_seo_Java_HTML CSS教程
www.tzwhx.com
www.th7.cn
解決方案網
幫客之家 | IT技術 建站編程 電腦教程 www.bkjia.com
軟體開發,程式錯誤,exception
www.java123.net
一鍵重裝系統_打造智能化重裝系統軟體
www.bitscn.com
http://www.admin85.com/
http://www.3fwork.com/
技術博客-最新最全的技術疑難解決博客
好庫文摘 - 技術改變世界
紅黑聯盟:十三年IT技術門戶 精英夢想由此起航 (網路安全,黑客防禦,信息安全,編程,系統,網路)
以上都是侵犯我版權的爬蟲網站。
(請勿在文中點擊或搜索上述網站,以防不測。)
=======================================================================
手冊上只說了:http://www.cnblogs.com/wlsandwho
可沒給例子。
今天有人問這個,我就索性寫了一個。
作為一隻C++,每天在SQLServer群里做科普,好奇怪的樣子。http://www.cnblogs.com/wlsandwho
=======================================================================
下麵的示例代碼中,表間關係為“表A的a引用表B中的b作為外鍵”。王林森,TRUNCATE TABLE,外鍵,表,該表正由 FOREIGN KEY 約束引用,無法,截斷,wlsandwho
試圖執行truncate table B
代碼需要一句一句執行:http://www.cnblogs.com/wlsandwho
1 USE tempdb 2 GO 3 4 --創建表B 5 CREATE TABLE tB(b NVARCHAR(10) PRIMARY KEY) 6 GO 7 --插入一個測試數據 8 INSERT INTO tB 9 ( b ) 10 VALUES ( N'wlsandwho' -- b - nvarchar(10) 11 ) 12 GO 13 14 --創建表A 15 CREATE TABLE tA(a NVARCHAR(10) ) 16 GO 17 --添加外鍵 18 ALTER TABLE tA 19 ADD CONSTRAINT FK_fromBb FOREIGN KEY(a) 20 REFERENCES tB(b) 21 GO 22 23 --添加測試數據 24 --INSERT INTO tA( a ) VALUES ( N'thbytwo')--這一行無法運行,因為B.b中沒有這個值 25 INSERT INTO tA( a ) VALUES ( N'wlsandwho') 26 GO 27 28 --試圖截斷表B,失敗 29 TRUNCATE TABLE tB 30 GO 31 32 --試圖清空表A後截斷表B,失敗 33 DELETE FROM tA 34 GO 35 SELECT * FROM tA 36 GO 37 TRUNCATE TABLE tB 38 GO 39 40 --恢復之前的場景 41 INSERT INTO tA( a ) VALUES ( N'wlsandwho') 42 GO 43 44 --試圖先刪除外鍵再截斷,成功 45 ALTER TABLE tA DROP CONSTRAINT FK_fromBb 46 GO 47 TRUNCATE TABLE tB 48 GO 49 50 --結論:不能對FOREIGN KEY約束引用的表使用 TRUNCATE TABLE 51 DROP TABLE tB 52 DROP TABLE tA 53 GO
順便說下,我很少用外鍵。因為我相信我的前臺同學,也就是我。我也相信我的後臺同學,也是我。我也相信我的資料庫同學,沒錯,還是我。http://www.cnblogs.com/wlsandwho
反正小作坊能跑就行了。什麼?不能跑?我跑!http://www.cnblogs.com/wlsandwho