Mysql
 sql >> Database >  >> RDS >> Mysql

Il nome dello schema MySQL con trattino non mi consente di eseguire query della riga di comando

L'opzione migliore sarebbe ovviamente rinominare semplicemente il database.

Di solito, quando vengono visualizzati caratteri speciali nei nomi di schema/tabella/colonna, è possibile risolvere il problema con i backtick. Dal momento che stai tentando di eseguire uno script di shell, sfortunatamente interpreterà qualsiasi cosa all'interno dei backtick come un comando.

In MySQL puoi impostare sql_mode "ANSI_QUOTES". Fallo come amministratore/root (in MySQL) con

mysql> SET GLOBAL sql_mode="ANSI_QUOTES";

Controlla prima se hai già delle modalità impostate con

mysql> SHOW VARIABLES LIKE 'sql_mode';

Se ci sono già modalità impostate, includi quelle in SET GLOBAL sql_mode istruzione (separata da , ).

Puoi anche impostare questa opzione nel tuo my.cnf file, in modo che questa modalità venga applicata ogni volta che avvii il tuo server MySQL.

L'effetto è che " è consentito anche come carattere di virgoletta identificativo. Ma fai attenzione, non usi " nelle query per specificare qualsiasi testo, usa invece le virgolette singole.

  • leggi di più a riguardo qui