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

Susan Sarandon
リリース: 2024-11-16 18:17:03
オリジナル
869 人が閲覧しました

Why Does MySQL Throw an Error When Using Dashes in Table Names?

MySQL テーブル名でのダッシュの使用: よくある落とし穴

MySQL データベースを使用する場合、特定の操作を実行するとエラーが発生する場合があります。ダッシュを含むテーブル名。このエラーは、デフォルトではテーブル名に当てはまりますが、引用符で囲まれていない識別子にはダッシュが使用できないために発生します。

このエラーの典型的な例の 1 つは、データベースのバックアップ中に発生します。 「temp_01-01-000001」という名前のテーブルがあり、そこからデータを選択しようとすると、次のようなエラーが表示される場合があります。

Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-01-000001' at line 1
SELECT * FROM temp_01-01-000001
ログイン後にコピー

このエラーは、次の理由により MySQL がテーブル名を正しく識別できないことを示します。ダッシュの存在感。この問題を解決するには、テーブル名をバッククォート (`) で囲んで、特殊文字を含む識別子であることを示す必要があります。

修正されたクエリは次のようになります。

SELECT * FROM `temp_01-01-000001`
ログイン後にコピー

テーブル名の前後にバッククォートを追加することで、それが単なる通常の文字列ではなく特別な識別子であることを MySQL に明示的に伝えます。これにより、MySQL はテーブル名を正しく解釈し、エラーなしでクエリを実行できるようになります。

テーブル名に特殊文字を使用すると、互換性の問題やエラーが発生する可能性があるため、常にベスト プラクティスであることを覚えておいてください。さまざまなデータベース操作。ただし、状況によってダッシュの使用が必要な場合は、テーブル名をバッククォートで引用することが、この落とし穴を回避するための信頼できる解決策です。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート