MySQL : utilisation de variable session SET

antoinebe Messages postés 10 Statut Membre -  
 doublequotes -
Bonjour,

Je viens à vous concernant un script MySQL que j'utilise en shell sous linux et pour lequel je bloque un peu.

Le principe est simple, j'aimerais utiliser des variables de sessions afin d'exécuter une série de requêtes basique :

SET SQL_MODE="ANSI_QUOTES";
SET @WWW = elia;
SET @db = elia;
SET @pcw = test;
FLUSH PRIVILEGES;
CREATE USER '@WWW'@'%' IDENTIFIED BY '@pcw';
FLUSH PRIVILEGES;
CREATE DATABASE '@db';
USE '@db';
GRANT ALL ON '@db.*' TO '@WWW' IDENTIFIED BY '@pcw';


Cependant la sortie ce fait avec un rajout de l'utilisateur et de la base de donnée, mais sans prendre compte de mes variables :/

Mon utilisateur créé étant donc = @WWW et ma base étant @db

Alors un petit coup de pouce mysql serait bienvenue :)

3 réponses

antoinebe Messages postés 10 Statut Membre
 
Je me suis trouvez une alternative en créant un fichier batch temporaire que j'execute ensuite.

L'avantage étant que je déclare mes variables lors de la création de ce fichier, et ainsi les données sont déjà renseignée lors de son execution.

Cependant si quelqu'un voudrait bien m'éclairer et me dire comment les faire prendre en compte :)
J'ai le même problème dans le batch sql, impossible de faire interpréter mes variables de session en valeur
0
doublequotes
 
salut ,

remplace les ' ' par des " ".
tes variables ne sont pas interpretées quand elle sont entourées par des ' '.
0
antoinebe Messages postés 10 Statut Membre
 
le problème étant que je fait celà par un script shell avec export en echo > cat des requêtes, et l'export ce veut encadré par des double quotes ", ainsi je ne peut pas réutiliser les " en délimiteur
0
doublequotes
 
salut,

alors essai en les échappant ,je ne sais pas comment ton code est mais si tu les echappent ==> \" l'echo les affichera au lieu de les interpreter comme delimiteur pour lui.
sa donne un truc comme ça.
echo "SET @WWW = \"elia\";"
0