CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

外键关联的问题

楼主hanlijunnm(阿呆)2005-01-27 10:37:10 在 MS-SQL Server / 应用实例 提问

alter   table   Staff_Info  
        add   constraint   FK_STAFF_IN_REFERENCE_STAFFT_YP   foreign   key   (Staff_Type)  
              references   Staff_Type   (ID)  
  go  
   
  发生错误:  
   
  服务器:   消息   547,级别   16,状态   1,行   1  
  ALTER   TABLE   语句与   COLUMN   FOREIGN   KEY   约束   'FK_STAFF_IN_REFERENCE_STAFFT_YP'   冲突。该冲突发生于数据库   'BuedriInfo',表   'Staff_Type',   column   'ID'。  
  警告:   已创建表   'Staff_Info',但其最大行大小(11383)超过了每行的最大字节数(8060)。如果结果行长度超过   8060   字节,则此表中行的   INSERT   或   UPDATE   将失败。  
   
  Staff_Info里有Staff_Type(int)字段,Staff_Type表里有ID字段(int,自动增1)  
   
  烦劳告诉指点 问题点数:100、回复次数:7Top

1 楼hanlijunnm(阿呆)回复于 2005-01-27 10:37:58 得分 0

请高手指点Top

2 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-01-27 10:44:22 得分 0

taff_Type表里的ID字段建为主键了吗?Top

3 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-01-27 10:49:17 得分 50

Staff_Type表里的ID字段建为主键了吗?  
   
  另外,SQL   Server   每个数据页的可存储数据大小为8060字节,一行数据[不包括image\text\ntext]的最大长度不能超过这个上限。  
  因为Staff_Info表的所有字段定义的最大长度之和为11383,如果在insert或update数据时,实际数据长度超过了8060,则会出现错误。Top

4 楼Softlee81307(孔腎)回复于 2005-01-27 10:51:41 得分 0

高手Top

5 楼jayfunk(crazydog)回复于 2005-01-27 11:00:00 得分 20

外键相对于主键的,所以引用为外键就是是主键!当一行大用8060时候,就用成text类型啦  
  Top

6 楼dellair(dellair)回复于 2005-01-27 11:06:14 得分 30

alter   table   Staff_Info   with   nocheck  
        add   constraint   FK_STAFF_IN_REFERENCE_STAFFT_YP   foreign   key   (Staff_Type)  
              references   Staff_Type   (ID)  
  go  
   
  这个试一试,如果没有行数的错误,应该是可以的Top

7 楼hdhai9451(☆新人类☆)回复于 2005-01-27 11:43:20 得分 0

要保證Staff_Type表的ID是主鍵,如果表Staff_Info   已經存在記錄集,你添加外鍵時是否檢查以前的記錄集?因為以前的記錄人些是不符合Staff_Type   (ID),所以下面要加with   no   check  
   
  alter   table   Staff_Info   with   no   check  
        add   constraint   FK_STAFF_IN_REFERENCE_STAFFT_YP   foreign   key   (Staff_Type)  
              references   Staff_Type   (ID)  
  go  
   
   
  with   no   check的作用:加外鍵時不檢查以前的記錄Top

相关问题

  • 求助:一对一外键与主键双向关联问题
  • 如何关联“enter”键呀?
  • 请问能否实现两个主键表与一个外键表的关联?
  • ORACLE中的主键与外键是否有关联更新的功能?
  • 求助:一对一外键与主键双向关联问题,谢谢大家
  • Oracle的外键是否能让所有有关联的表一起改变?
  • 请问如果数据库中两个表未作外键关联,在hibernate中,能否使用关联,这样用需要注意什么问题?
  • 请教几个概念,左关联,右关联,外关联是什么意思
  • 怎样才能看到一个表的某个字段的外键关联的相关信息
  • 有这样一个问题,关于外键关联的,希望大家帮忙想一想。

关键词

  • 字段
  • 数据
  • staff
  • 键
  • stafft
  • 表里
  • yp
  • 长度
  • references
  • 表

得分解答快速导航

  • 帖主:hanlijunnm
  • libin_ftsafe
  • jayfunk
  • dellair

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo