goo blog サービス終了のお知らせ 

へたれエンジニア日記(旧跡地)

こちらへ引っ越しました。http://d.hatena.ne.jp/toritori0318/

column "aaa" does not exist

2008-02-09 23:40:50 | ORACLE・MSDE・Postgres
postgresで新規にテーブル作ってselectした時のこと。


普通に

select * from テーブル名;

でやると表示されるのですが、

select 列名 from テーブル名;

とすると
「column "列名" does not exist」
というエラーが出てしまう。

なんで?(・ω・)?


エラーの内容は「そんな列ありませんよ」というごくごく普通のメッセージ。
もちろん、列名は絶対に間違ってはいない。
\\d で列名表示してそれをコピペしてもエラーになる。

なんで?(・ω・)?


意味がわからないながらも
いろいろと試してみた結果
create文に原因がありました。

create table my_table
("COL1" text ,
"COL2" text,
…,
);

このように、「""で囲って、かつ大文字」で定義したときに起こる現象の様子。
列名を小文字にしたらエラーは発生しなくなりました。
なんじゃそら。
しかもpgAdminで生成されるSQL文で発生してます。
なんじゃそら。

これはわけがわからんなぁ

最新の画像もっと見る