Excluindo banco de dados MySQL com um “-” no nome

0

Um membro da equipe de desenvolvimento conseguiu criar um banco de dados com um "-" no nome com uma interface gráfica remota (e acho que o segundo é um banco de dados legado).

Estou tentando remover os dois com o

DROP DATABASE "dbname-a";

comando dentro da interface de linha de comando mysql , no entanto estou recuperando o erro:

ERROR 1064 (42000): 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 '"dbname-a"' at line 1

Eu tentei usar o nome do banco de dados com e sem "" e também dentro de ''. todas as variações apresentaram o mesmo erro de sintaxe.

O que fazer?

    
por Rui F Ribeiro 06.07.2017 / 01:14

2 respostas

2

Eu acredito que a maneira correta de fazer isso seria com citações de backtick. Por exemplo:

DROP DATABASE 'dbname-a'

Isso vale também para palavra-chave reservada do MySQL . Há muito mais informações sobre esta postagem sobre estouro de pilha - Quando usar aspas simples, aspas duplas e backticks no MySQL .

    
por 06.07.2017 / 10:12
0

Acabei tendo que deletar na linha de comando, como em:

mysqladmin drop "dbname-a"

De Manual de Referência do Oracle 5.7 - mysqladmin

drop db_name

Delete the database named db_name and all its tables.

    
por 06.07.2017 / 01:14

Tags