개발팀의 한 구성원이 원격 그래픽 인터페이스를 통해 이름에 "-"가 포함된 데이터베이스를 생성했습니다.제 생각에는두 번째는 레거시 데이터베이스입니다).
다음 명령으로 삭제하려고 합니다.
DROP DATABASE "dbname-a";
명령은 mysql
명령줄 인터페이스 내에 있지만 오류가 발생합니다.
오류 1064(42000): SQL 구문이 올바르지 않습니다. 1행의 "dbname -a" 근처에서 사용할 올바른 구문은 MySQL 서버 버전 설명서를 확인하세요.
""가 있거나 없는 데이터베이스 이름은 물론 "" 내에서도 데이터베이스 이름을 사용해 보았습니다. 모든 변형에는 동일한 구문 오류가 있습니다.
무엇을 해야 할까요?
답변1
올바른 방법은 백틱을 사용하는 것이라고 생각합니다. 예를 들어:
DROP DATABASE `dbname-a`
이는 다음과 같은 경우에 유용합니다.MySQL 예약 키워드게다가. 스택 오버플로 게시물에 대한 추가 정보 -MySQL에서 작은따옴표, 큰따옴표 및 백틱을 사용하는 경우.
답변2
결국 다음과 같이 명령줄에서 이를 제거해야 했습니다.
mysqladmin drop "dbname-a"
~에서오라클 5.7 참조 매뉴얼 - mysqladmin
데이터베이스 이름 삭제
db_name이라는 데이터베이스와 해당 테이블을 모두 삭제합니다.