在SQL SERVER 2000中 手动在数据库中建立了一个数据表(COPMA)
数据表中设置了MA001字段为主键 请问如何删除主键约束用:alter table ABCDE DROP CONSTRAINT (主键约束名称)
“主键约束名称”怎么得到???因为是手动建立的表 主键约束名称不知道

解决方案 »

  1.   

    --删除   
      alter   table   你的表   drop   constraint   主键名   
      go   
      --修改   
      ALTER   TABLE   你的表   ALTER   COLUMN   列名   你的类型     
      go   
      --增加   
      alter   table   你的表   add   constraint   主键名   primary   key   (列名)   
      go
      

  2.   

    alter       table       你的表       drop       constraint       主键名???
    问题就在于 “主键名” 是什么?是手动建的表
      

  3.   

    create   table   a   (bb   varchar(10)   not   null,cc   money)   
        
      alter   table   a   add   primary   key   (bb)   
        
      alter   table   a   drop   CONSTRAINT   PK__a__1372D2FE   
        
      "PK__a__1372D2FE"   为sysobjects   中表a的主键对象的name列的值
      

  4.   

    select  c.name  as 表名,a.name as 主键名  
      from   sysindexes   a   
      join   sysindexkeys b on a.id=b.id and a.indid=b.indid   
      join   sysobjects   c on b.id=c.id   
      where   c.name='你的表名'
      and   c.xtype='PK'  
    呵呵 不敢肯定 多年没用 忘完了
      

  5.   

    declare @pkname varchar(1000)select @pkname=name from sysobjects where xtype='pk'
    and object_name(parent_obj)='test'exec ('alter table test  drop constraint '+@pkname) 
      

  6.   

    去SQL的系统表里去查,应该能查出.
    对了,就是楼上的这个方法.