sqlite rowidに値を設定する

sqlite rowidに値を設定する

sqliteで、rowidに値を設定する手順を記述してます。「insert」時に「rowid」の設定したい値を指定刷ることで可能です。rowidとはsqliteに自動的に割り振られる値のことです。sqliteは、3.37.1を使用してます。

環境

  • OS windows11 home
  • sqlite 3.37.1
  • DB Browser for SQLite 3.12.2

手順

「rowid」に値を設定するには、「insert」時に「rowid」を指定します。

insert into テーブル名(カラム名, ROWID) values(値, rowidの値);

実際に、以下の「hoge」というテーブルの「rowid」を設定してみます。

CREATE TABLE hoge(id integer, name text);

insert into hoge values(1, 'taro');
insert into hoge values(2, 'jiro');
insert into hoge values(3, 'saburo');

設定します。

insert into hoge(id, name, ROWID) values(4, 'siro', 10);

実行結果

「rowid」が設定されていることが確認できます。

ただし、「integer」型で「primary key」が設定されていると、「ROWID」とプライマリーキーに設定されているカラムの値が同じになります。

CREATE TABLE sampletbl(id integer primary key, name text);

-- データを追加
insert into sampletbl values(1, 'taro');
insert into sampletbl values(2, 'jiro');
insert into sampletbl values(3, 'saburo');

-- rowidを指定
insert into sampletbl(id, name, ROWID) values(4, 'siro', 10);

実行結果