sqlite プライマリーキーを設定する
sqliteで、プライマリーキーを設定する手順を記述してます。create table時に「プライマリーキー」に指定したいカラムに「primary key」と指定すれば設定可能です。sqliteは、3.37.1を使用してます。
環境
- OS windows11 home
- sqlite 3.37.1
- DB Browser for SQLite 3.12.2
手順
プライマリーキーを設定するには、「primary key」を使用します。
CREATE TABLE テーブル名(カラム名 PRIMARY KEY);
実際に、「hoge」というテーブルに「プライマリーキー」を設定してみます。
CREATE TABLE hoge(id integer, name text primary key);
実行結果
「name」に対して、同じ値をinsertするとエラーになることが確認できます。
insert into hoge values(1, 'taro');
insert into hoge values(2, 'jiro');
insert into hoge values(3, 'taro'); -- エラーが発生
結果: UNIQUE constraint failed: hoge.name
実行結果
また、「null」の場合はキー違反にはなりません。
insert into hoge values(3, null);
insert into hoge values(4, null);
insert into hoge values(5, null);
実行結果
integer型をプライマリーキーに指定
integer型をプライマリーキーにしたテーブル「huge」を作成してみます。
CREATE TABLE huge(id integer primary key, name text);
同じ「id」を、「insert」すると同様にエラーとなります。
insert into huge values(1, 'taro');
insert into huge values(2, 'jiro');
insert into huge values(1, 'taro');
実行結果
ただし、「name」に「null」をinsertした場合は「id」の値はオートインクリメントされます。
insert into hoge values(null, 'taro');
insert into hoge values(null, 'taro');
insert into hoge values(null, 'taro');
実行結果
-
前の記事
Oracle Database PL/SQL if文を使用する 2023.01.11
-
次の記事
Rust 日時をUTCに変換する 2023.01.11
コメントを書く