PostgreSQL:いろいろ Tips

 
INSERTで「nonstandard use of \\ in a string literal」というエラーが出たとき。
シングルコートを「E’」にすれば OK。「E’C:\\hogehoge.txt’」
 
PostgreSQLで INSERT直後の主キーの値をとりたいとき。
[code]
SELECT currval(pg_catalog.pg_get_serial_sequence(‘test_table’, ‘pkey’))

SELECT lastval()
[/code]
下の方は同じセッション内でとるとき。次のやつは nextvalでとる。
[code]
SELECT nextval(pg_catalog.pg_get_serial_sequence(‘test_table’, ‘pkey’))
[/code]
EC-CUBEでは関数が用意されているので、それを使うのが吉。(でないと、MySQLになったとき動かない)
 
ついで。PostgreSQLのユーザ設定。GRANTはテーブル単位しかかけられないって知ってました?
オートインクな主キーのあるテーブルは、シリアルキーのテーブルの方も grantしとかないとエラーになるので要注意。
 
も一つついでに。Ruby + DBI + Postgresでなにかやろうとしたときは、「Ruby DBI モジュールを使う」は必見。

0 返信

返信を残す

Want to join the discussion?
Feel free to contribute!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です