sqlite check制約を設定する

sqliteで、check制約を設定する手順を記述してます。「CREATE TABLE」時に「check」に条件を指定することで可能です。sqliteは、3.37.1を使用してます。
環境
- OS windows11 home
- sqlite 3.37.1
- DB Browser for SQLite 3.12.2
手順
挿入される値に条件を設定できる「check」制約を使用するには、「check」を指定します。
CREATE TABLE テーブル名(カラム名 check(条件), ...);
実際に、以下の「hoge」というテーブルのカラム「age」に条件「150」未満を設定してみます。
CREATE TABLE hoge(id integer, age integer check(age < 150));
実行結果

データ挿入
現在日付が入るか、データを実際に挿入してみます。
insert into hoge values(1, 10);
insert into hoge values(2, 150); -- エラー発生
結果: CHECK constraint failed: age < 150
実行結果をみると、ageに「150」以上のデータを挿入するとエラーになることが確認できます。

「null」を挿入してもエラーになりません。
insert into hoge values(2, null);
and・or使用
条件に「and」や「or」も使用することが可能です。
age >10 and age < 150
age = 10 or age < 5
-
前の記事
MariaDB 平均値を計算する 2023.08.29
-
次の記事
Redis 指定したset型のデータの差分を取得する 2023.08.29
コメントを書く