2010-11-18 4 views
2

Selon le manuel:Les valeurs de variable définies par l'utilisateur MySQL ne peuvent pas être utilisées comme identificateurs. Comment puis-je faire cela?

Variables utilisateur ... ne peut pas être utilisé directement dans une instruction SQL comme un identifiant ou dans le cadre d'un identifiant , comme dans des contextes où une table ou le nom de base de données devrait

ce qui explique pourquoi ce que j'ai essayé ne fonctionne pas:

set @databaseName := 'job_hunt_2'; 

drop database @databaseName; 
create database @databaseName; 
use @databaseName; 

Existe-t-il un moyen d'accomplir ceci, ou est-ce simplement impossible? Merci!

Répondre

3

peut-être vous devriez essayer l'approche suivante:

set @databaseName := 'job_hunt_2'; 
SET @s = CONCAT('drop database ', @databaseName); 
PREPARE stmt1 FROM @s; 
EXECUTE stmt1; 
DEALLOCATE PREPARE stmt1; 
Questions connexes