CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

如何修改一个表的完整性约束?-----实体完整性

楼主zhdleo(叮东)2002-06-19 10:17:56 在 MS-SQL Server / 基础类 提问

SQL数据库  
   
  一个表S已知在创建它时定义了个实体完整性  
  create   table   S  
    (......  
      ......  
      ......  
      constraint   PK_S   primary   key   (Sname));  
     
   
  现在想通过一些语句修改这个表的主码,把它改为S_id。  
  问题点数:20、回复次数:4Top

1 楼firedragoninhell(SZGODDON)回复于 2002-06-19 10:30:37 得分 10

先去掉主键:  
  alter   table   S   drop   CONSTRAINT   pk_s      
   
  在新增主键:  
  alter   table   S  
  add   constraint   pk_S   primary   key   clustered(S_id)Top

2 楼zhdleo(叮东)回复于 2002-06-19 14:42:12 得分 0

clustered   这是?  
   
  在我再新增主键:  
  alter   table   S  
  add   constraint   pk_S   primary   key   clustered(S_id)  
   
  出错:Server:   Msg   8111,   Level   16,   State   1,   Line   1  
  Cannot   define   PRIMARY   KEY   constraint   on   nullable   column   in   table   'S'.  
  Server:   Msg   1750,   Level   16,   State   1,   Line   1  
  Could   not   create   constraint.   See   previous   errors.  
   
   
  好像是说不能对一个可空的加   PRIMARY   KEY    
  那我该怎么办?Top

3 楼zhdleo(叮东)回复于 2002-06-19 14:48:27 得分 0

是不是我只能在create   的时候就对要新设的PRIMARY   KEY   设为NULL??  
   
  有没有别的办法!在以后面改???Top

4 楼Yang_(扬帆破浪)回复于 2002-06-26 08:12:55 得分 10

这个错误是由于你的S_id字段是可空的。不能作为主键。  
  主键是不可为空而且唯一的。  
   
  现在的唯一办法是把S_id字段改为NOT   NULL。再加主键。  
  Top

相关问题

  • 完整性约束
  • 完整性约束表示什么意思,如何使用?
  • 关于oracle中的完整性约束
  • 引用完整性约束权限的问题
  • 请教,大家作系统时数据库的完整性,太表间的约束是用数据库实现,还是在程序中实现
  • “在启用缓冲或表缓冲,或者使用完整性约束时,不能执行insert操作。”为什么?
  • 在启用缓冲或表缓冲,或者使用完整性约束时,不能执行insert操作怎么解决[有图]
  • 高分求教,判断提交表单的完整性.
  • 关于检察表单数据完整性的问题!
  • 请大家来讨论完整性约束和外键设置在实际应用中是否有必要

关键词

  • 完整性
  • 表
  • constraint pk
  • 主键
  • primary key
  • clustered
  • alter
  • create
  • table

得分解答快速导航

  • 帖主:zhdleo
  • firedragoninhell
  • Yang_

相关链接

  • SQL Server类图书

广告也精彩

反馈

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