[前][次][番号順一覧][スレッド一覧]

mysql:13142

From: SAITO TAKAYOSHI <SAITO TAKAYOSHI <saito@xxxxxxxxxx>>
Date: Tue, 04 Jul 2006 18:55:55 +0900
Subject: [mysql 13142] Re: 記号「`」とWHERE 「1」の意味は?

こんにちは、さいとうです。

> MyTableを囲んでいる記号「``」は、つけてもつけなくても動作するのですが、
> あえてつける意味はなんでしょうか?記号の読み方もわからないので調べられず…。

`の読み方は、バッククォートです。
MySQLでテーブル名やカラム名を引用する場合、通常はバッククォート
をつけなくても動作しますが、特殊文字(間のスペースとか日本語とか)
や予約語が使われているとエラーになるようです。

バッククォートで囲っておけば、テーブル名やカラム名にそれらの
文字や単語が含まれていてもSQL上ではエラーになりません。

自分はテーブル名やカラム名は英数字で構成するので、まだそういう
場面に想定したことはないのですが、以下マニュアルの記述です。

□6.1.2. データベース名、テーブル名、インデックス名、
カラム名、エイリアス名
http://dev.mysql.com/doc/refman/4.1/ja/legal-names.html

---------------------------
識別子(データベース名、テーブル名、カラム名)を ‘`’ で
引用する事ができます。MySQL バージョン 3.23.6 以降では、
ANSI モードで実行した時は、‘"’ も識別子の引用処理に使用
することができます。

識別子が予約語である場合や、識別子に特殊文字が含まれている
場合は、引用符として使用したバッククォート(「`」)文字で
その識別子を必ず囲む必要があります。
---------------------------

予約語に関してはこちらに一覧が載っています。
http://dev.mysql.com/doc/refman/4.1/ja/reserved-words.html

英数字で、予約語を避けて命名しているならば、通常は意識しな
くていいと思います。何かの時のために、可能であれば常に
つけるクセをつけておくのは望ましいと思いますが。

------------------------------------------
齊藤 貴義
Mail saito@xxxxxxxxxx
Web http://www.mirai-city.org
------------------------------------------



[前][次][番号順一覧][スレッド一覧]

     13141 2006-07-04 16:33 [naya <SNA02388@xxxxx] 記号「`」とWHERE 「1」の意味は?        
->   13142 2006-07-04 18:55 ┣[SAITO TAKAYOSHI <sai]                                       
     13143 2006-07-04 22:21 ┣[buda <buda@xxxxxxxxx]                                       
     13144 2006-07-05 09:56 ┣[UNO Shintaro <uno@xx]                                       
     13146 2006-07-06 05:20 ┃┗[info2 <info2@xxxxxxx]                                     
     13153 2006-07-10 16:10 ┗[naya <SNA02388@xxxxx] 【御礼】 Re: 記号「`」とWHERE 「1」の意味は?