タグ:Postgresql

Postgresqlはテーブル名に注意

Postgresqlでテーブルを作った後、PHPにてSQL

SELECT * FROM (テーブル名)

と実行したのですが、存在するテーブルなのに、

ERROR:  relation "(テーブル名)" does not exist

というエラーが出てしまいました。

調べてみると、どうやらテーブル名はダブルクォートでくくらなければならないらしい。

SELECT * FROM "(テーブル名)"

ただし、これはテーブル名に大文字が含まれている場合のみで、小文字のみであればダブルクォートは不要とのこと。

たしかに、テーブル名は大文字で作成してました。

なんならSQLを実行した後、エラーで表示されるテーブル名が小文字になっているから、おかしいなとは思っていたのですが。

Postgresqlの場合は、実行時にテーブル名が小文字になってしまうのかな?

だから、大文字を含む際はダブルクォートが必要なのか。

 

参考サイト

PostgreSQLのテーブル名はダブルクォート有無で別名になった. - それマグで!

nandani | 2014年10月08日 | コメント(0) | トラックバック(0) | DB関連 | PHP関連

Copyright(c) 2010 - 2025 ダリの雑記