2012-03-26 16 views
1

serial4のテーブルに属性を定義したので、新しい行を挿入するとその属性が自動的にインクリメントされます。postgresql serial4型の挿入時の自動インクリメント

は、私はこのように行うために使用:

myTable (id : serial4, name : varchar(25), whatever : whatever, ...); 

を、私は新しいエントリを挿入したいとき:

insert into myTable (name, whatever, ...) values ('foo', ...); 

(私だけではid属性を取り除きます関連リスト)。

私のテーブルに多数の属性がある場合、関連リストは書き尽くしています。

私はちょうど書きたい

insert into myTable values (...); 

が、mytableは最初の属性はserial4 IDであれば、私は値リストに何を書くべきですか?

insert into myTable values (?, 'foo', ...); 

最後に挿入された値から+1されたIDを取得するには、

答えて

2

はキーワードDEFAULTを使用:

insert into myTable values (DEFAULT, 'foo', ...); 

serial pseudo data type(同義語:serial4)取り付けSEQUENCEからデフォルト値を取得integer列のちょうど表記上の便宜です。 DEFAULTキーワードを使用すると、シーケンスの次の値が他のデフォルト値と同じように挿入されます。

Details in the manual.

+0

私は...、岩のおかげ – user544262772

+0

@Oddant上の2羽の鳥をserial4、配列決定の整数との違いを尋ねることを約あったとも目隠し! ;) –

関連する問題