![데이터베이스 사용자 생성 및 데이터베이스 인스턴스 생성, 동일한 이름으로 기존 값 실행](https://linux55.com/image/122843/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%83%9D%EC%84%B1%20%EB%B0%8F%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4%20%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%20%EC%83%9D%EC%84%B1%2C%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EC%9D%B4%EB%A6%84%EC%9C%BC%EB%A1%9C%20%EA%B8%B0%EC%A1%B4%20%EA%B0%92%20%EC%8B%A4%ED%96%89.png)
나는 노력했다다시 만들다데이터베이스 사용자 및 데이터베이스 인스턴스(기존 인스턴스 위에서 실행)이므로 Mysql CLI에서 다음 두 명령을 실행했습니다.
create user '${test}'@'localhost' identified by '${psw}';
create database ${test};
나는 다음과 같은 결과를 얻습니다.
라인 1의 오류 1396(HY000): "test"@"localhost"에 대한 CREATE USER 작업이 실패했습니다.
물론 오류가 발생하는 이유는 사용자가 이미 존재하기 때문입니다.)
내 질문
test
데이터베이스 사용자와 동일한 값( )을 가진 데이터베이스 인스턴스가 이미 있는 경우 위 명령이 기존 데이터에서 실행되도록 하려면 어떻게 해야 합니까?
답변 후 업데이트
mysql -V
가져오다:
mysql Ver 14.14 Linux(x86_64)용 Distrib 5.7.20, EditLine 래퍼 사용
답변1
if not exists
쿼리에 사용하세요. 예를 들어:
create if not exists user '${test}'@'localhost' identified by '${psw}';
또는
create database if not exists ${test};
귀하의 mysql 버전은 다를 수 있습니다. 올바른 버전을 참조하십시오. 그러나 더 많은 정보는 다음에서 찾을 수 있습니다: