sql >> データベース >  >> RDS >> Mysql

ダッシュ付きのMySQLスキーマ名では、コマンドラインクエリを実行できません

    もちろん、データベースの名前を変更するのが最善の方法です。

    通常、スキーマ/テーブル/列名に特殊文字が含まれている場合は、バッククォートを使用してこれを修正できます。シェルスクリプトを実行しようとしているため、残念ながら、バックティック内のすべてのものがコマンドとして解釈されます。

    MySQLでは、sql_mode「ANSI_QUOTES」を設定できます。

    を使用して管理者/ルート(MySQLの場合)として実行します
    mysql> SET GLOBAL sql_mode="ANSI_QUOTES";
    

    ですでに設定されているモードがあるかどうか、最初に確認してください
    mysql> SHOW VARIABLES LIKE 'sql_mode';
    

    すでにモードが設定されている場合は、それらをSET GLOBAL sql_modeに含めます。 ステートメント(,で区切られています 。

    このオプションは、my.cnfで設定することもできます ファイル。このモードは、MySQLサーバーを起動するたびに適用されます。

    その効果は、その" 識別子の引用文字としても使用できます。ただし、"は使用しないように注意してください。 テキストを指定するクエリでは、代わりに一重引用符を使用してください。




    1. MySQL-DATE_ADDの月間隔

    2. SQL SELECT MAX

    3. SELECTステートメントを使用したMySQLトリガー

    4. 自己のMySQL外部キー