プロが教える店舗&オフィスのセキュリティ対策術

Postgresql7.2.4で
user:postgresにより
CREATE TABLE test (id serial PRIMARY KEY,num INT4)
というテーブルを作成し、
GRANT ALL ON test TO PUBLIC
と権限を与えました。
そしてPHP4よりuser:nobodyで
INSERT INTO test (num) VALUES (1)
というクエリを実行しようとすると
ERROR: test_id_seq.nextval: you don't have permissions to set sequence wash_h_test_id_seq in test.php
とでます。
しかし
INSERT INTO test (id,num) VALUES (1,1)
とするとちゃんとデータベースに反映されます。
PHPで、このユーザーからserialを使った自動連番で
書き込めるようにするにはどうすればいいのでしょうか。

A 回答 (1件)

> ERROR: test_id_seq.nextval: you don't have permissions to set sequence wash_h_test_id_seq in test.php


sequenceに関する権限が与えられてないって言われてるので、

GRANT ALL ON SEQUENCE wash_h_test_id_seq TO PUBLIC;

とすれば動くのではないでしょうか?

参考URL:http://www.postgresql.jp/document/pg825doc/html/ …
    • good
    • 0
この回答へのお礼

お陰で解決いたしました。
どうもありがとうございました。
また返事が遅くなり申し訳ありませんでした。

お礼日時:2008/02/07 19:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す