SQLite3でUNIQUEインデックスを作成する

2021年12月31日

環境
Windows10 64bit
SQLite3.37.0

書式
CREATE UNIQUE INDEX インデックス名 ON テーブル名(カラム名1, xxx);
使用例
1.テーブルを作成します

sqlite> create table user(uno integer,username text,addr text,age integer);

2.テーブルにデータを挿入します

sqlite> insert into user values(1001, 'userA', 'Tokyo', 21);
sqlite> insert into user values(2002, 'userB', 'Oosaka', 22);
sqlite> insert into user values(3003, 'userC', 'Fukuoka', 23);
sqlite> insert into user values(4004, 'userD', 'Oosaka', 24);

3.UNIQUEインデックスを作成します
sqlite> create unique index useridx on user(username);

4.インデックス一覧を確認します
sqlite> .indices
useridx

5.ユニークインデックスの確認
sqlite> insert into user values(5005, 'userD’, 'yokohama’,25);
Error: stepping, UNIQUE constraint failed: user.username (19)

6.インデックスを削除します
sqlite> drop index useridx;
sqlite> .indicess

SQLite

Posted by arkgame