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」の意味は?