ホームページ >データベース >mysql チュートリアル >テーブル名にダッシュを使用すると、MySQL でエラーが発生するのはなぜですか?

テーブル名にダッシュを使用すると、MySQL でエラーが発生するのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-11 14:41:02487ブラウズ

Why does MySQL give an error when using dashes in table names?

MySQL テーブル名でのダッシュの使用

「エラー番号: 1064...」のようなエラーが発生した場合は、マニュアルを確認してください...データベースのバックアップ中に、行 1 の '-01-000001' 付近」というメッセージが表示される場合は、テーブル名のダッシュ (-) が原因である可能性があります。 MySQL では、特別な処理を行わない限り、テーブル名にダッシュを使用することはできません。

この問題を解決するには:

  1. テーブル名をバックティックで囲みます: テーブル名を囲みます。バッククォート (`) はエスケープ文字として機能します。例:
SELECT * FROM `temp_01-01-000001`

テーブル名をバッククォートで囲むと、ダッシュ記号は特別な意味を失い、MySQL はテーブル名を文字列として扱います。

  1. SQL 識別子の引用符を使用する: あるいは、SQL 識別子の引用符を使用して、テーブル名全体を一重引用符で囲まれた文字列として扱うこともできます。これは、次のようにテーブル名を二重引用符 ("") で囲むことによって実現されます。
SELECT * FROM "temp_01-01-000001"

これらの方法のいずれでも、名前にダッシュを含むテーブルをクエリできます。テーブルを参照するときは必ずバッククォートまたは二重引用符を含めてください。そうしないと、引き続きエラーが発生する可能性があります。

以上がテーブル名にダッシュを使用すると、MySQL でエラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。