一个表里只能有一个PRIMARY KEY 约束。不过一个PRIMARY KEY 约束可以有很多列。

解决方案 »

  1.   

    primary key约束只能一个 但可以建立在多个字段上
      

  2.   

    在两个列上添加PRIMARY KEY约束alter table tab add constraint PK_abc PRIMARY KEY CLUSTERED (c1, c2)
      

  3.   

    create table 表名
    (
      字段1 字段类型 not null,
      字段2 字段类型 not null,
      Primary key (字段1,字段2)
    )
      

  4.   

    create table test(
    field1 char(8) not null,
    field2 char(10) not null,
    field3 int,
    constraint pk_field1 primary key(field1,field2))
      

  5.   

    PRIMARY KEY 约束
    表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。当为表指定 PRIMARY KEY 约束时,Microsoft® SQL Server™ 2000 通过为主键列创建唯一索引强制数据的唯一性。当在查询中使用主键时,该索引还可用来对数据进行快速访问。如果 PRIMARY KEY 约束定义在不止一列上,则一列中的值可以重复,但 PRIMARY KEY 约束定义中的所有列的组合的值必须唯一。创建和修改 PRIMARY KEY 约束
    一个 PRIMARY KEY 约束可以: 作为表定义的一部分在创建表时创建。
    添加到尚没有 PRIMARY KEY 约束的表中(一个表只能有一个 PRIMARY KEY 约束)。
    如果已有 PRIMARY KEY 约束,则可对其进行修改或删除。例如,可以使表的 PRIMARY KEY 约束引用其它列,更改列的顺序、索引名、聚集选项或 PRIMARY KEY 约束的填充因子。定义了 PRIMARY KEY 约束的列的列宽不能更改。 
    说明  若要使用 Transact-SQL 或 SQL-DMO 修改 PRIMARY KEY,必须先删除现有的 PRIMARY KEY 约束,然后再用新定义重新创建。当向表中的现有列添加 PRIMARY KEY 约束时,Microsoft® SQL Server™ 2000 检查列中现有的数据以确保现有数据遵从主键的规则: 无空值无重复值 如果 PRIMARY KEY 约束添加到具有空值或重复值的列上,SQL Server 不执行该操作并返回错误信息。不能添加违背上述规定的 PRIMARY KEY 约束。SQL Server 自动创建唯一的索引来强制 PRIMARY KEY 约束所要求的唯一性。如果表中不存在聚集索引或未明确指定非聚集索引,则将创建唯一的聚集索引强制 PRIMARY KEY 约束。重要  当 PRIMARY KEY 约束由另一表的 FOREIGN KEY 约束引用时,不能删除 PRIMARY KEY 约束;要删除它,必须先删除 FOREIGN KEY 约束。
      

  6.   

    回学校在学学吧,不是建多个PRIMARY KEY.
    你的意思是不是要建立多个UNIQUE 约束,
    除PRIMARY KEY 有UNIQUE 约束外,
    还有 UNIQUE CONSTRAINT ,UNIQUE INDEX 等可用。