Jak zabezpieczyć CREATE USER, aby nie utworzyć konta, gdy już istnieje?
Źle. To by NADPISAŁO istniejące konto, a nie pominęło.
Źle. Bez zabezpieczenia - zgłosi błąd, gdy konto istnieje.
Źle. Składnia
OR DROP nie istnieje.Dobrze.
IF NOT EXISTS pomija tworzenie, gdy konto już jest.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';.