PHP を使用して mySQL でテーブル名として漢字を使用するにはどうすればよいですか。現在、エラーは返されませんが、「???」という名前のテーブルが作成されます。
何をする必要があるか考えていますか?それともできないのでしょうか?
PHP を使用して mySQL でテーブル名として漢字を使用するにはどうすればよいですか。現在、エラーは返されませんが、「???」という名前のテーブルが作成されます。
何をする必要があるか考えていますか?それともできないのでしょうか?
たぶん、次のようにMySQL文字セットをUTF-8、GBK、またはGB2312に設定する必要があります。
CREATE TABLE t (c CHAR(20) CHARACTER SET gbk COLLATE gbk_chinse_ci);
ほとんどすべての SQL ステートメントは、何らかの方法で識別子を使用して、データベースまたはその構成要素 (テーブル、ビュー、列、インデックス、ストアド ルーチン、トリガー、イベントなど) を参照します。データベースの要素を参照する場合、識別子は次の規則に従う必要があります。
識別子の有効な文字。引用符で囲まれていない識別子は、大文字と小文字のラテン文字、a-z
数字、、、0-9
および範囲内の文字で構成されます。dollar
underscore
Unicode extended
U+0080
to U+FFFF
識別子は、数字を含め、識別子で有効な任意の文字で始めることができます。ただし、引用符なしの識別子は数字だけで構成することはできません。数字と区別できなくなるからです。数字で始まる識別子に対する MySQL のサポートは、データベース システムの中ではやや珍しいものです。このような識別子を使用する場合、「 E 」または「 e 」が含まれている場合は特に注意してください。これらの文字はあいまいな表現につながる可能性があるためです。
たとえば、式23e + 14
(「 + 」記号をスペースで囲む) は、列23e
に数値を加えた14
ものを意味しますが、 はどう23e+14
でしょうか? 同じ意味ですか、それとも科学表記法の数値ですか?
識別子は、文字内で引用 (区切り) できますbacktick
(' '), which permits use of **any
character**, except a
NUL byte or
Unicode 補足characters (
U+10000 以降')。ご使用のオペレーティング システムによって、データベースとテーブルの識別子に追加の制約が課される場合があります。