SQLiteでは、各レコードの値を一意に識別できるID(ROWID)を持っています。
ROWIDの取得方法は4つあり、どの方法で取得しても同じ値になります。
目次
ROWIDの取得方法
1. ROWID 、_ROWID_、OID のいずれかを指定する
次のようにSelect句に指定するとROWIDを取得することが出来ます。(どの方法でも同じ値が返されます)
ROWIDを指定
1 |
select ROWID from hoge; |
_ROWID_を指定
1 |
select _ROWID_ from hoge; |
OIDを指定
1 |
select OID from hoge; |
2. INTEGER PRIMARY KEY を指定した列から取得する
SQLiteでは、INTEGER PRIMARY KEY を指定した列は、ROWIDのエイリアスになります。
そのため、
INTEGER PRIMARY KEY を指定した列の値 = ROWID となります。
例えば、次のような表を定義した場合
1 2 3 4 |
create table hoge ( ID INTEGER PRIMARY KEY, NAME TEXT ); |
ID列がROWIDのエイリアスになります。
次のデータがある場合
ID | NAME |
---|---|
1 | Aさん |
2 | Bさん |
3 | Cさん |
ROWIDを含めてSelectすると次のようになります。
ROWID と ID列(INTEGER PRIMARY KEY)が同じ値になっていることが確認出来ました。
まとめ
SQLiteでROWIDの指定方法は4つあり、好きな方法で取得することが出来ます。
1. ROWID を指定する
2. _ROWID_ を指定する
3. OID を指定する
4. INTEGER PRIMARY KEY の列を指定する