Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


9.2.1 識別子の修飾子

MySQL では、単一の識別子または複数の識別子から構成される名前を使用できます。複数部分名のコンポーネントは、ピリオド (.) 文字で区切る必要があります。複数部分名の最初の部分は、最後の識別子が解釈されるコンテキストに影響を与える修飾子として機能します。

MySQL では、次の形式を使用してテーブル内のカラムを参照できます。

カラム参照 意味
col_name ステートメントで使用されるテーブルのカラム col_name には、その名前のカラムが含まれています。
tbl_name.col_name デフォルトデータベースのテーブル tbl_name 内のカラム col_name
db_name.tbl_name.col_name データベース db_name のテーブル tbl_name 内のカラム col_name

修飾子文字は別個のトークンであり、関連付けられた識別子と隣接する必要はありません。たとえば、tbl_name.col_nametbl_name . col_name は同等です。

複数部分名のコンポーネントを引用符で囲む必要がある場合、名前全体を引用符で囲むのではなく、各コンポーネントを個別に引用符で囲んでください。たとえば、`my-table.my-column` ではなく、`my-table`.`my-column` と記述します。

修飾名内でピリオドのあとに続く予約語は識別子である必要があるため、そのコンテキストでは引用符で囲む必要はありません。

参照があいまいでないかぎり、ステートメント内のカラム参照の前に tbl_namedb_name.tbl_name プリフィクスを付ける必要はありません。たとえば、テーブル t1t2 のそれぞれにカラム c があり、t1t2 の両方を使用する SELECT ステートメントで c を取得するとします。この場合、c はステートメント内で使用されるテーブルの中で一意でないため、あいまいになります。これを t1.c または t2.c としてテーブル名で修飾し、どちらのテーブルを指しているかを示す必要があります。同様に、同じステートメント内のデータベース db1 のテーブル t とデータベース db2 のテーブル t から取得するには、それぞれのテーブルのカラムを db1.t.col_namedb2.t.col_name として参照する必要があります。

構文 .tbl_name は、デフォルトデータベースのテーブル tbl_name を意味します。一部の ODBC プログラムではテーブル名の先頭に.文字が付けられるため、ODBC 互換性を確保するためにこの構文が認められています。


User Comments
Sign Up Login You must be logged in to post a comment.