MYSQL Suppression et Creation conditionnel
pcouas
Messages postés
37
Statut
Membre
-
pcouas -
pcouas -
Bonjour,
Quel est la syntaxe pour gerer une erreur sur un DROP USER ou un REVOKE de droits ci ceux ci n'existe pas sans que mon script SQL ne s'arrete ?
Merci d'avance
Philippe
J'ai essaye sans succes cela mysql -u root -p</tmp/essai.sql
le fichier essai.sql
IF EXISTS(SELECT User FROM mysql.USER WHERE User='user1') THEN
DELETE FROM mysql.USER WHERE user='user1' AND host='localhost';
FLUSH PRIVILEGES;
DROP USER 'user1'@'localhost';
END IF;
celui ci nonplus ?
IF EXISTS(SELECT user FROM mysql.user WHERE user='user1') THEN
DROP user 'user1'@'localhost';
END IF;
Quel est la syntaxe pour gerer une erreur sur un DROP USER ou un REVOKE de droits ci ceux ci n'existe pas sans que mon script SQL ne s'arrete ?
Merci d'avance
Philippe
J'ai essaye sans succes cela mysql -u root -p</tmp/essai.sql
le fichier essai.sql
IF EXISTS(SELECT User FROM mysql.USER WHERE User='user1') THEN
DELETE FROM mysql.USER WHERE user='user1' AND host='localhost';
FLUSH PRIVILEGES;
DROP USER 'user1'@'localhost';
END IF;
celui ci nonplus ?
IF EXISTS(SELECT user FROM mysql.user WHERE user='user1') THEN
DROP user 'user1'@'localhost';
END IF;
A voir également:
- MYSQL Suppression et Creation conditionnel
- Forcer suppression fichier - Guide
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Création compte google - Guide
4 réponses
Bonjour,
J'ai essaye ceci sans succes
IF((SELECT count(*) FROM mysql.USER WHERE user='user1')>0,
REVOKE ALL PRIVILEGES ON DB.* FROM 'user1'@'localhost';
REVOKE ALL PRIVILEGES ON DB.* FROM 'user1'@'%';
DELETE FROM mysql.USER where user='user1';
FLUSH PRIVILEGES;
DROP USER 'user1'@'localhost';
DROP USER 'user1'@'%';,,)
J'ai essaye ceci sans succes
IF((SELECT count(*) FROM mysql.USER WHERE user='user1')>0,
REVOKE ALL PRIVILEGES ON DB.* FROM 'user1'@'localhost';
REVOKE ALL PRIVILEGES ON DB.* FROM 'user1'@'%';
DELETE FROM mysql.USER where user='user1';
FLUSH PRIVILEGES;
DROP USER 'user1'@'localhost';
DROP USER 'user1'@'%';,,)
Et si tu fait plutôt
https://dev.mysql.com/doc/refman/8.0/en/control-flow-functions.html
CASE WHEN (SELECT count(*) FROM mysql.USER WHERE user='user1')>0) THEN REVOKE ALL PRIVILEGES ON DB.* FROM 'user1'@'localhost'; REVOKE ALL PRIVILEGES ON DB.* FROM 'user1'@'%'; DELETE FROM mysql.USER where user='user1'; FLUSH PRIVILEGES; DROP USER 'user1'@'localhost'; DROP USER 'user1'@'%'; END;
https://dev.mysql.com/doc/refman/8.0/en/control-flow-functions.html