MySQL : utilisation de variable session SET

Fermé
antoinebe Messages postés 9 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 7 octobre 2011 - 2 oct. 2011 à 21:49
 doublequotes - 7 oct. 2011 à 03:38
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 9 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 7 octobre 2011
3 oct. 2011 à 20:11
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
salut ,

remplace les ' ' par des " ".
tes variables ne sont pas interpretées quand elle sont entourées par des ' '.
0
antoinebe Messages postés 9 Date d'inscription vendredi 20 mai 2011 Statut Membre Dernière intervention 7 octobre 2011
7 oct. 2011 à 01:20
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
7 oct. 2011 à 03:38
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