[pgsql-jp: 37365] Re: 挿入したデータの serial 値を取得する方法
Akinori FUJII
showten24 @ yahoo.co.jp
2006年 7月 28日 (金) 17:54:14 JST
鈴木さんへ
藤井と申します。
defaultにnextvalを設定しているのなら
下記のINSERT文で自動採番されたあとにレコードが登録されるはずですよ。
insert into test2 (name) values('test name');
--- 鈴木孝征 <takamasa @ thaliana.myhome.cx> wrote:
> PostgreSQL MLの皆様へ。鈴木孝征と申します。
>
> PostgreSQL 7.4.10を使用しています。
>
> テーブルを下記のように定義し、下記のようにデータを追加したとします。この
> とき追加したデータに割り振られたID (serial)を簡単に取得する方法ってあり
> ますか。
>
> create table test1 (id serial, name text);
> insert into test1 (name) values('test name');
>
> 実際にはPHPを使っていて、データを追加した後、そのデータに対するIDを次の
> 処理に使いたいと思っています。
>
> 現在はテーブルの定義と追加の処理を下記のように行っていますが、もっと簡便
> な手段はないものかと調べています。
>
> create sequence seq;
> create table test2 (id int default nextval('seq'), name text);
> select nextval('seq'); # この処理を入れるのが面倒だと思ってしまう。、
> insert into test2 (id, name) values(1, 'test name');
>
> まあ、別にたいした量のコードではないので(select一回とそのエラー時の処理
> ぐらい)、書けばいいじゃないと言われればそれまでなのですが、楽できる方法
> があれば教えてください。
>
pgsql-jp メーリングリストの案内