Jak zabezpieczyć CREATE USER, aby nie utworzyć konta, gdy już istnieje?
Dobrze.
IF NOT EXISTS pomija tworzenie, gdy konto już jest.Źle. Składnia
OR DROP nie istnieje.Źle. Bez zabezpieczenia - zgłosi błąd, gdy konto istnieje.
Źle. To by NADPISAŁO istniejące konto, a nie pominęło.
Aby nie utworzyć konta, które już istnieje (i uniknąć błędu), używa się klauzuli
IF NOT EXISTS: CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'haslo';. Gdy użytkownik istnieje, polecenie zostanie pominięte. Dlatego poprawny jest wariant z IF NOT EXISTS.Zwykłe
CREATE USER ... zgłosi błąd, jeśli konto istnieje. CREATE USER OR DROP ... to składnia nieistniejąca. CREATE OR REPLACE USER ... w niektórych systemach NADPISAŁoby istniejące konto, a celem jest go nie ruszać. Bezpieczne jest CREATE USER IF NOT EXISTS 'anna'@'localhost' IDENTIFIED BY 'haslo';.