Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 表、视图和索引 » 主键

 

管理主键 (SQL)

可使用 SQL 来管理主键,以帮助提高表的查询性能。

前提条件

您必须是表的所有者,或者具有以下其中一种特权:

  • 表的 ALTER 特权
  • ALTER ANY TABLE 系统特权
  • ALTER ANY OBJECT 系统特权

主键中的列不能包含 NULL 值。

 任务
  • 连接到数据库。

    选项 操作
    创建主键 执行 ALTER TABLE table-name ADD PRIMARY KEY (column-name) 语句。
    删除主键 执行 ALTER TABLE table-name DROP PRIMARY KEY 语句。
    变更主键 为表创建新的主键前,先删除现有主键。

结果

主键已添加、删除或变更。

以下语句创建名为 Skills 的表,然后将 SkillID 列指派为主键:

CREATE TABLE Skills (
   SkillID INTEGER NOT NULL,
   SkillName CHAR( 20 ) NOT NULL,
   SkillType CHAR( 20 ) NOT NULL,
   PRIMARY KEY( SkillID )
);

该表中每一行的主键值必须是唯一的,在本示例中,这就意味着您不能给多个行指定同一个 SkillID。表中的每一行由其主键值唯一地标识。

要将主键更改为 SkillID 和 SkillName 列的组合,必须先删除已创建的主键,然后添加新的主键:

ALTER TABLE Skills DELETE PRIMARY KEY;
ALTER TABLE Skills ADD PRIMARY KEY ( SkillID, SkillName );

 另请参见