sqlite unique制約を設定する

sqliteで、unique制約を設定する手順を記述してます。「unique」を使用します。「DB Browser for SQLite」から設定する手順も記述してます。sqliteは、3.37.1を使用してます。
環境
- OS windows11 home
- sqlite 3.37.1
- DB Browser for SQLite 3.12.2
手順
重複したデータの挿入を許可しない「unique」を設定するには、「unique」を指定します。
CREATE TABLE テーブル名(カラム名 integer unique, ...);
実際に、以下の「hoge」というテーブルのカラム「id」を「unique」に設定してみます。
CREATE TABLE hoge(id integer unique, name text);
実行結果

重複データ挿入
「id」に重複したデータ挿入を挿入してみます。
insert into hoge values(1, 'taro');
insert into hoge values(2, 'jiro');
insert into hoge values(1, 'saburo'); -- エラー発生
結果: UNIQUE constraint failed: hoge.id
実行結果をみるとエラーになることが確認できます。

null挿入
nullは重複してもエラーとなりません。
insert into hoge values(NULL, 'saburo');
insert into hoge values(NULL, 'siro');
実行結果

DB Browser for SQLite
GUIツール「DB Browser for SQLite」からだと、テーブル作成時に「U」にチェックを入れると「unique」となります。
「テーブルを作成」をクリックします。

対象のカラムの「U」にチェックを入れると「NOT NULL」となります。

-
前の記事
kotlin 文字列から最後に見つかった文字列の後ろにあるものを全て置換する 2023.06.17
-
次の記事
Dart 10進数の文字列を10進数の数値に変換する 2023.06.19
コメントを書く