[pgsql-jp: 31262] Re: SQL文の解釈について

Misha misha @ mbm.nifty.com
2003年 10月 22日 (水) 22:34:28 JST


こんにちは。ミーシャです。

既に、鹿持さん、大場さんがお答えになっていますが、補足までに。
http://www.postgresql.jp/document/pg734doc/user/sql-syntax.html#SQL-SYNTAX-IDENTIFIERS

ちなみに、psql でDBへ入り、
\d hogehoge
としてみて下さい。

Column が NAME になっていれば、CREATE TABLE のときに、"NAME" と定義がされたはずです。

------------------
ミーシャ


> -----Original Message-----
> From: pgsql-jp-admin @ ml.postgresql.jp 
> [mailto:pgsql-jp-admin @ ml.postgresql.jp] On Behalf Of 
> Kenichirou Yoshida
> Sent: Wednesday, October 22, 2003 8:27 PM
> To: pgsql-jp @ ml.postgresql.jp
> Subject: [pgsql-jp: 31259] SQL文の解釈について
> 
> 吉田です。
> 
> ちょっと疑問を感じてたので、解決方法が分からなかったので投げて見ます。
> 
> えっと、環境は以下の通り
> apache 1.3.27
> PostgreSQL 7.3.4 (tar.gzよりインストール)
> PHP 4.3.3 (tar.gzよりインストール)
> PHPLib 7.4
> カーネルは 2.4.18-10 TurboLinux Workstation 7 です。
> 
> データベースは --no-locale --encoding=EUC_JP としてあります。
> 過去のメールを調べましたが、似たようなところがありましたが、
> まったく違う状況です。
> phpコードの文字コードは全てEUC-JPを統一しており、S_Shiftは使っていません。
> 
> 例えば、以下のようなSQL文を叩くとエラーになります。
> hogehoge=> select * from hogehoge where NAME='山田 太郎';
> ERROR:  Attribute "name" not found
> 
> となり、これは意味が分からなかったのですが、
> phpPgAdmin 3.1 からも同じ結果でした。
> 
> 色々と試したあげく、エラーが出なくなりましたが、何か釈然しません。
> hogehoge=> select * from hogehoge where "NAME"='山田 太郎';
>     <<<結果表示>>>
> 
> NAME のところを "NAME" を入れれば問題ないというのですが、
> これでは、phplibが使えません・・・。エラーになります。
> 認証クラスというところにsql文が入っています。
> class hoge_Auth extends Auth 
> 
> Fatal error: Cannot instantiate non-existent class: hoge_auth 
> in /home/hogehoge/lib/session.inc(339) : eval()'d code on line 1
> 
> なぜ「""」を括らないと通らないのでしょう?
> PostgreSQLのConfigureがおかしいのか、何が原因なのか分かりません。
> 
> 心当たりがありましたら、解決策を教授願います。
> 





pgsql-jp メーリングリストの案内