Beim Erstellen eines DB-Benutzers und Erstellen einer DB-Instanz werden vorhandene Werte mit demselben Namen überschrieben.

Beim Erstellen eines DB-Benutzers und Erstellen einer DB-Instanz werden vorhandene Werte mit demselben Namen überschrieben.

Ich versuchte zuneu erstellenein DB-Benutzer und eine DB-Instanz (die über die vorhandenen ausgeführt werden), also habe ich die folgenden beiden Befehle in der Mysql-CLI ausgeführt:

create user '${test}'@'localhost' identified by '${psw}';
create database ${test};

Ich habe diese Ausgabe erhalten:

FEHLER 1396 (HY000) in Zeile 1: Vorgang CREATE USER für „test“@„localhost“ fehlgeschlagen

Der Grund für den Fehler ist natürlich, dass der Benutzer bereits existiert.

Meine Frage

Wie kann ich sicherstellen, dass die obigen Befehle über die vorhandenen Daten ausgeführt werden, wenn ich bereits einen DB-Benutzer und eine DB-Instanz mit demselben Wert ( test) habe?

Nach Antwort aktualisieren

mysql -Vbringt:

mysql Ver 14.14 Distrib 5.7.20, für Linux (x86_64) mit EditLine-Wrapper

Antwort1

Verwenden Sie es einfach if not existsin Ihren Abfragen. Zum Beispiel:

create if not exists user '${test}'@'localhost' identified by '${psw}'; oder create database if not exists ${test};

Ihre MySQL-Version ist möglicherweise anders. Informieren Sie sich über die richtige Version. Weitere Informationen finden Sie unter:

verwandte Informationen