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

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » テーブル、ビュー、インデックス » プライマリキー

 

プライマリキーの作成と修正 (SQL の場合)

テーブル上のクエリのパフォーマンスを向上するよう、テーブルのプライマリキーを設定できます。

前提条件

DBA 権限を所有している、テーブルの所有者である、またはテーブルを変更するパーミッションを所有している必要があります。

プライマリキーのカラムに NULL 値を含むことはできません。このため、プライマリキーのカラムには、NOT NULL を指定します。

内容と備考

次のとおりです。

 ♦ SQL を使用したプライマリキーの追加
  1. データベースに接続します。

  2. プライマリキーを追加するには、ALTER TABLE...ALTER column-name column-alteration 文を実行して、テーブルのプライマリキーを追加します。

  3. プライマリキーを削除するには、ALTER TABLE...DROP PRIMARY KEY 文を実行します。

  4. プライマリキーを変更するには、ALTER TABLE...DROP PRIMARY KEY 文を実行して既存のプライマリキーを削除し、ALTER TABLE...ALTER column-name column-alteration 文を実行してテーブルの新しいプライマリキーを設定します。

結果

プライマリキー定義が、データベースのテーブル定義に追加されます。

次の手順

なし。

次の文は、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 );

 参照