[seasar-php:137] S2DAOのS2Dao_PostgreSQL::nextvalについて
ISHITOYA Kentaro
[E-MAIL ADDRESS DELETED]
2007年 5月 21日 (月) 17:31:53 JST
石戸谷です。
掲題の件ですが、S2Dao_PostgreSQL::nextvalは、
public function getSequenceNextValString($sequenceName) {
return 'SELECT nextval (' . $sequenceName . ')';
}
と定義されていますが、これだと、
SQLException occured, because SQLSTATE[42703]: Undefined column: 7
ERROR: column "persons_id_seq" does not exist at character 17'
といわれてしまいます。
SELECT nextval('persons_id_seq');
のように、引用符で囲わないといけないようです。
今の環境は、PostgreSQL8.2ですが、一応調べてみたところ、7.1、8.1ともに、
引用符が必要でした。
http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/sql-createsequence.html
http://www.postgresql.org/docs/8.1/static/functions-sequence.html
なので、正しくは
public function getSequenceNextValString($sequenceName) {
return 'SELECT nextval (\'' . $sequenceName . '\')';
}
です。
対応をよろしくお願いいたします。
失礼いたします。
seasar-php メーリングリストの案内