直前に追加したシーケンスをしりたいときに便利です。
PostgreSQLでデータをINSERTしたとき関連テーブルにもINSERTしたい。
そのとき最初のテーブルのSERIALを知りたいが
その値は自動で振られているのでわからないときに使います。
毎回調べるのでメモ
①データをINSERT
table1
id :SERIAL
name : text
INSERT INTO table1 (name) VALUES ("test")
(idのデータ型にはSERIALを設定しているので自動で挿入されます。)
②シーケンスの値を取得
$sql = "SELECT currval(table1_id_seq) as val";
$rtns = pg_query($connect,$sql);
$val = pg_fetch_result($rtns,"val");
これで調べることができました!
シーケンス操作関数
http://www.postgresql.jp/document/8.4/html/functions-sequence.html
0 件のコメント:
コメントを投稿