[pgsql-jp: 36034] Re: PostgreSQLのシーケンス番号処理について
T.Nishimura
nisimura @ weloveya.com
2005年 9月 22日 (木) 15:46:14 JST
早川様
ご回答ありがとうございます。
maxvalue の件ですが、設定しておりませんが、
同じ方法で、クリエトした別テーブルは、5万行を超える勢いで
未だ動いていますし、今回の問題のテーブルは、数百行しかありません
ので
最大値に引っかかったとは思えません。
> こういうことではないのであれば、西村さんが最初のメールでおっ
> しゃっていた「ワーニング」を具体的に記すと、状況がわかって回答
> も得られやすいかも知れません。
> table_no_seq の create sequence 文等その他いろいろな情報
> も必要
> になるかもしれません。
まずは、ワーニングは以下の通りです。
Warning: pg_fetch_row(): Unable to jump to row 0 on PostgreSQL result
index 5 in /export/home/aaaa.php on line 203
Warning: pg_query(): Query failed: ERROR: syntax error at or near ","
at character 59 in /export/home/aaaa.php on line 206
Warning: Cannot modify header information - headers already sent by
(output started at /export/home/aaaa.php:203) in /export/home/
aaaa.php on line 243
クリエイトは、以下の通りです。
CREATE TABLE table(
rno SERIAL,
data TEXT,
date TIMESTAMP,
PRIMARY KEY(no)
);
です。
On 2005/09/22, at 14:00, Ryo HAYAKAWA wrote:
> 早川と申します。
>
> From: "T.Nishimura" <nisimura @ weloveya.com>
> Subject: [pgsql-jp: 36031] Re: PostgreSQLのシーケンス番号処理
> について
> Date: Thu, 22 Sep 2005 13:27:30 +0900
> Message-ID: <2326B06E-4BAC-4616-8404-E597214A62A0 @ weloveya.com>
>
>
>> という形で、処理を求めているので、基本的には、データが複数取
>> れる
>> 事に重大な問題がある訳ではないのですが
>> tableのno がNotNullなので、
>> NEXTVAL('table_no_seq')した時に、テーブルに行が有るにも関わらず
>> データが取れない事が発生しているようなのです。
>>
>
> 状況がわからないので推測しかできませんが、table_no_seq
> が MAXVALUE
> に達したということは考えられないのでしょうか。
> 手元の PostgreSQL 8.0.3 で、MAXVALUE が 10
> の testseq というシー
> ケンスを作成して試したところ、あたりまえですが、以下のような
> エラーとなり、値は得られませんでいた
>
> # 以下の例の testtable は 10 行以上あります。
>
> testdb=> create sequence testseq maxvalue 10;
> CREATE SEQUENCE
> testdb=> select NEXTVAL('testseq') from testtable;
> ERROR: nextval: reached maximum value of sequence "testseq" (10)
> testdb=> select CURRVAL('testseq');
> currval
> ---------
> 10
> (1 row)
>
> こういうことではないのであれば、西村さんが最初のメールでおっ
> しゃっていた「ワーニング」を具体的に記すと、状況がわかって回答
> も得られやすいかも知れません。
> table_no_seq の create sequence 文等その他いろいろな情報
> も必要
> になるかもしれません。
>
> -- はやかわ
>
>
pgsql-jp メーリングリストの案内