■作者サイト■

■CALENDAR■
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30   
<<前月 2010年09月 次月>>
■NEW ENTRIES■
■RECENT COMMENTS■
■RECENT TRACKBACK■
■CATEGORIES■
■ARCHIVES■
■LINK■
■PROFILE■
■LOGIN■
現在のモード: ゲストモード
USER ID:
PASSWORD:
■POWERED BY■
BLOGN(ぶろぐん)
BLOGNPLUS(ぶろぐん+)
■OTHER■
 

[PostgreSQL] シーケンス操作はロールバックできない
諸事情でPHPからPostgreSQLのシーケンスを操作をすることに
端折って書きますと、


@pg_query($con, 'begin');

// いろいろな処理

// シーケンスの操作
@pg_query($con, "select setval('nantara_table_seq', (select max(id) from nantara_table))");


というようなことをしたわけですけど、
この後ロールバックしようと思ってもできません。
(commitしてないのに、値が変わってしまう)

よくよく調べたら

いずれにしてもsetval演算は決してロールバックしません。


だそうです。これで2時間悩みました。
同じ境遇の人のために書いておこう。
でも、シーケンス直接いじるなんて、あんまりしないのかも。

ここのページによりますと、create table などの処理もロールバックできないみたいですね。

| データベース | 03:49 PM | comments (0) | trackback (0) |
PAGE TOP ↑