19

名前に特殊文字が含まれるデータベースを作成したいと思います。たとえば、(。、-、_、@、#、$、%、&、*)

誰かがこれに関する出力を提供できますか?

4

3 に答える 3

36

このような名前のデータベースを作成しないことを強くお勧めします。ただし、どうしても必要な場合は、次の制限があります。

  • 識別子に ASCII NUL (0x00) または値が 255 のバイトを含めることはできません。
  • データベース、テーブル、および列の名前は、空白文字で終わらせないでください。
  • データベースとテーブルの名前には、「/」、「\」、「.」、またはファイル名に使用できない文字を含めることはできません。

データベースを作成するには、次の操作を実行できます。

mysql> create database `really@strange*database$name`;
于 2009-05-29T12:26:06.710 に答える
3

シンプル: しないでください。

mysql ではバックティックを使用してエキゾチックなテーブル名をエスケープできますが、バックティック内で何かを使用できるかどうかはわかりません。ソフトウェアライフサイクルの残りの部分で、多大な苦痛が生じます。

その風変わりな名前を保持する別のテーブルを作成することをお勧めします。

-- Example:
CREATE TABLE _DatabaseMetadata (
    databaseName VARCHAR(255),
    exoticName VARCHAR(255)
) DEFAULT CHARSET=utf8;
于 2009-05-29T12:27:45.880 に答える