Open Source WEB

バッククォートは万能!!

バッククォートでデータベース名を囲むと、どんな名前のデータベースも 大丈夫なのかも知れない。

スペースも可能なのかも知れない。

mysql> CREATE DATABASE `A B C`;
Query OK, 1 row affected (0.00 sec)

mysql> 

間のスペースはOKみたいだ。

では、最初と最後に入れた場合をやってみよう。

mysql> CREATE DATABASE `  A`;
Query OK, 1 row affected (0.00 sec)
 
mysql> CREATE DATABASE `A  `;
ERROR 1102 (42000): Incorrect database name 'A  '
mysql>

ということで、スペースは、最後には入れられないが、 それ以外の場所(先頭または途中)なら挿入可能なようだ。 しかし、こんな変なことはしない方が無難だ。


バッククォートが付くのが正式なのでは

前々回のSHOW CREATE DATABASEの出力中の`は何だろうにおいて

mysql> CREATE DATABASE 元帳;
Query OK, 1 row affected (0.00 sec)
mysql> SHOW CREATE DATABASE 元帳\G
*************************** 1. row ***************************
       Database: 元帳
Create Database: CREATE DATABASE `元帳` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec)
 
mysql>

という動きをするのを問題視した。 CREATE DATABASE ではバッククォートで囲まなかったのに、 SHOW CREATE DATABASE の出力には、しっかりとバッククォートが付いていた。

では、漢字でなくても、ごく普通のASCII文字でも バッククォートがつくのかも知れない。

mysql> CREATE DATABASE abc;
Query OK, 1 row affected (0.00 sec)
 
mysql> SHOW CREATE DATABASE abc\G
*************************** 1. row ***************************
       Database: abc
Create Database: CREATE DATABASE `abc` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec)
 
mysql>

abcというアルファベットだけのとても安全と考えられるデータベース名の 場合でも、しっかりとバッククォートされている。 ということは、SHOW CREATE DATABASES では、常にバッククォートされて 表示されるのではないだろうか。

ところで、SHOW CREATE DATABASE の出力結果をそのまま使うと 同じ事(この場合はデータベースの作成)が出来るはずである。

mysql> DROP DATABASE abc;
Query OK, 0 rows affected (0.00 sec)
 
mysql> CREATE DATABASE `abc`;
Query OK, 1 row affected (0.00 sec)
 
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| abc                |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.00 sec)
 
mysql>

一旦消去してから、`abc` と指定したら、ちゃんとできている。

ということは、データベース名は、常にバッククォートで囲むべきである。

データベース名は、常にバッククォートで囲むべきである。


日本語は特殊文字扱いなのか?

さて、マニュアル中に出て来た「特殊文字」とは一体何なのだろうか? もしかして、日本語は特殊文字扱いなのだろうか。


戻る:マニュアルでバッククォート(`)について調べよう

次へ:色々なキャラクタセットのデータベース名を試してみよう


フィードバック:

Name:
Comment:

There is no comment.

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us