Bonsoir,
J'ai un script que je vais lancer plusieurs fois.
dans ce script je cree des users, et bien sur la deuxieme fois je tombe en erreur
le CREATE USER IF NO EXISTS ne semble pas exister ?
Une idée ? Merci d'avance
Philippe
Version imprimable
Bonsoir,
J'ai un script que je vais lancer plusieurs fois.
dans ce script je cree des users, et bien sur la deuxieme fois je tombe en erreur
le CREATE USER IF NO EXISTS ne semble pas exister ?
Une idée ? Merci d'avance
Philippe
Bonjour,
Pourquoi ne pas interroger au préalable le catalogue MySQL (colonne GRANTEE de la vue système INFORMATION_SCHEMA.USER_PRIVILEGES), pour voir si le nom d'utilisateur existe ou pas ?
Il faut être au minimum en version 5.0 de MySQL pour avoir accès au catalogue.
ced
Bonjour,
Un petit soucis
je lance la commande depuis un fichier .sql mysql -u root -p </tmp/ex.sql, c'est peut etre mon soucis ??Code:
1
2
3 IF((SELECT count(*) from information_schema.USER_PRIVILEGES where grantee like '%user1''@''l%')>0,CREATE USER 'user1'@'localhost' IDENTIFIED BY 'xx'; GRANT ALL PRIVILEGES ON DB.* TO 'user1'@'localhost' WITH GRANT OPTION;,,)
Une idee ? Merci
Phil
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 USE tst delimiter $$ DROP PROCEDURE IF EXISTS simpleproc; CREATE PROCEDURE simpleproc() BEGIN DECLARE v_i INT; SELECT count(*) INTO v_i FROM information_schema.USER_PRIVILEGES where grantee like '%user1''@''l%'; IF(v_i=0) THEN CREATE USER 'user1'@'localhost' IDENTIFIED BY 'xx'; END IF; SELECT count(*) INTO v_i FROM mysql.user where user='user1' and host='%'; IF(v_i=0) THEN CREATE USER 'user1'@'%' IDENTIFIED BY 'xx'; END IF; END $$
Code:CALL simpleproc()$$