=================================版权声明=================================
版权声明:原创文章 禁止转载
请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我
勿用于学术性引用。
勿用于商业出版、商业印刷、商业引用以及其他商业用途。
本文不定期修正完善。
本文链接: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
=======================================================================
用十分二十分钟的时间自己动动手验证一下,总比在企鹅群里傻傻的等答案要好。http://www.cnblogs.com/wlsandwho
=======================================================================
如果你们历经千辛万苦才找到这篇博客,那一定是下面的原因:http://www.cnblogs.com/wlsandwho
所以你需要点“推荐”和“关注”,这样下次才能更快更好的找到资料。http://www.cnblogs.com/wlsandwho
=======================================================================
(友情支持请扫描这个)
微信扫描上方二维码捐赠
=======================================================================
20160115
为了更完整和严密地说明问题,在44行之前再添加一个测试
1 --试图先禁用外键再截断,失败 2 ALTER TABLE tA NOCHECK CONSTRAINT FK_fromBb 3 TRUNCATE TABLE tB 4 ALTER TABLE tA CHECK CONSTRAINT FK_fromBb