首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL Server 2008中数据库技术中的疑难有关问题

2013-07-04 
SQLServer 2008中数据库技术中的疑难问题?在SQL Sever2008数据库中,将几张表都设计好并并将要求的列设置为

SQL Server 2008中数据库技术中的疑难问题?
在SQL Sever2008数据库中,将几张表都设计好并并将要求的列设置为主键,保存后,在对它们建立外键关系,再次保存,为什么 就不能保存呢?
  有什么简易的方法可以进行完成保存吗?

 真诚的期待并感谢您的回复!
[解决办法]
1,可以看看系统提示的不能保存的具体原因,外键不能保存通常原因是因为
数据表中已经存在了违法外键约束的数据,此时在保存数据库会提示违法了外键
约束所以不能保存
2,可以先把违反约束的数据清理掉,然后在建立外键即可。

[解决办法]
3. 如果数据已经有违法foreign key constraint,可以使用WITH NOCHECK,即“强制外键约束”选取“否”。
e.g.

CREATE TABLE [ORDERS](ID INT IDENTITY(1,1) PRIMARY KEY ,CreateON datetime)
go
CREATE TABLE [ORDER_lines](ID INT IDENTITY(1,1),CreateON datetime,orders_ID INT)
go

ALTER TABLE [ORDER_lines] 
WITH NOCHECK --不检查数据创建外键
ADD CONSTRAINT FK_ORDER_lines_ORDERID FOREIGN KEY(orders_ID)
REFRENCES DBO.[ORDERS](ID)

[解决办法]
2楼说的不审核外键,那建立外键还有什么意义。

热点排行