ponkiti's blog

主に自分用、イベント参加メモや備忘録として利用

Sequel Proで複数の列を主キー(プライマリキー)として設定する

Sequel ProのGUI操作では、複数の列を主キーとして設定できないらしい。

方法は下記の2つ。

  1. CREATE TABLE実行時に指定
  2. 既存のテーブルにALTER TABLEで指定

CREATE TABLE実行時に指定

CREATE TABLE実行時にPRIMARY KEYを設定する。

CREATE TABLE tbl_test (
    id1 INTEGER NOT NULL,
    id2 INTEGER NOT NULL,
    PRIMARY KEY(id1, id2)
);

既存のテーブルにALTER TABLEで指定

既存のインデックスの設定は削除しておく。上記のインデックス設定を削除しないまま、下記SQLを実行するとMultiple primary key definedというエラーが出てしまう。

f:id:pyoonn:20141014150158p:plain

既存のテーブルに合わせて、下記のようなSQL文を書いて実行する。

ALTER TABLE tbl_test ADD CONSTRAINT PRIMARY KEY(id1, id2);

結果

1、2どちらとも、下記の画面のようなPRIMARY KEYが設定される。

f:id:pyoonn:20141014142919p:plain

その他

各列にインデックスの設定をしたい場合、キーを設定したい列を選択後、インデックス設定欄の「+」ボタンをクリックする。

f:id:pyoonn:20141014135436p:plain

キーの種類を選択できるダイアログが表示される。

f:id:pyoonn:20141014140232p:plain

参考