ダリの雑記:WEBプログラム版

Postgresqlはテーブル名に注意

この記事は公開から1年以上経過しており、内容が古くなっている可能性があります。

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

SELECT * FROM (テーブル名)

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

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

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

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

SELECT * FROM “(テーブル名)”

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

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

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

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

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

 

参考サイト

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

モバイルバージョンを終了