@kyanny's blog

My thoughts, my life. Views/opinions are my own.

SQLite: 複合主キーを使う

データベース操作ライブラリ等を使って CREATE TABLE 文を自動生成してる場合など、まれに手作業で調整する場合。

テーブル作成後に ALTER TABLE で変更できないので、 DROP TABLE してから CREATE TABLE する。

BEGIN;
DROP TABLE "polls_choice";
CREATE TABLE "polls_choice" ("question_id" integer NOT NULL, "choice_text" varchar(200) NOT NULL, "votes" integer NOT NULL, PRIMARY KEY ("question_id", "votes"));
COMMIT;

stackoverflow.com

検索キーワード: multi column primary key, compound primary key, composed primary key