Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O nome do esquema MySQL com traço não me permite executar consulta de linha de comando


A melhor opção seria, claro, simplesmente renomear seu banco de dados.

Normalmente, quando caracteres especiais aparecem em nomes de esquema/tabela/coluna, você pode corrigir isso com acentos graves. Como você está tentando executar um script de shell, ele interpretará qualquer coisa dentro de acentos graves como um comando, infelizmente.

No MySQL você pode definir o sql_mode "ANSI_QUOTES". Faça isso como administrador/raiz (no MySQL) com
mysql> SET GLOBAL sql_mode="ANSI_QUOTES";

Verifique primeiro, se você já tem algum modo definido com
mysql> SHOW VARIABLES LIKE 'sql_mode';

Se já houver modos definidos, inclua-os no SET GLOBAL sql_mode instrução (separada por , ).

Você também pode definir esta opção em seu my.cnf arquivo, para que este modo seja aplicado toda vez que você iniciar seu servidor MySQL.

O efeito é que " também é permitido como caractere de cotação identificador. Mas tome cuidado para não usar " em consultas para especificar qualquer texto, use aspas simples.
  • leia mais sobre isso aqui