SQLite 3 のインストールと利用の入門: 別ページにまとめている.
autoincrement は,レコードの導入において値が省略されたとき,1ずつ増えるように設定される属性のこと.
このデータに, 主キーとして使える属性 id を追加したテーブルを考える.
ここでは, データベース名を指定せず,インメモリ・データベースを用いている.
sqlite3
ここでは,演習のため,まず id のないテーブル S を作成する.
ここで定義するテーブル: S(a1, a2, a3)
create table S (
a1 integer,
a2 integer,
a3 INTEGER);
begin transaction;
insert into S(a1, a2, a3) values (1, 2, 3);
insert into S(a1, a2, a3) values (1, 1, 2);
insert into S(a1, a2, a3) values (2, 1, 1);
insert into S(a1, a2, a3) values (3, 3, 1);
commit;
select * from S;
ここで定義するテーブル: T(id, a1, a2, a3)
テーブル T の id は autoincrement に設定する.
そして, テーブル S をテーブル T にコピーする.
create table T (
id integer primary key autoincrement not null,
a1 integer,
a2 integer,
a3 integer);
begin transaction;
insert into T(a1, a2, a3) SELECT a1, a2, a3 FROM S;
commit;
select * from T;