1

タイプ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を取得するには?

4

1 に答える 1

2

キーワードを使用してくださいDEFAULT

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

serial疑似データ型(同義語:)は、添付された。からデフォルト値を取得serial4する列の表記上の便宜です。キーワードを使用することにより、シーケンスの次の値が他のデフォルト値と同じように挿入されます。integerSEQUENCEDEFAULT

マニュアルの詳細。

于 2012-03-26T15:12:28.597 に答える