MySQL用户定义的变量值不能用作标识符。我该怎么做呢?

时间:2010-11-18 07:54:33

标签: mysql variables

根据手册:

  

无法使用用户变量....   直接在SQL语句中作为   标识符或作为标识符的一部分   标识符,例如在上下文中   需要表或数据库名称

这解释了为什么我一直在尝试的东西不起作用:

set @databaseName := 'job_hunt_2';

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

有没有办法实现这一目标,还是根本不可能?谢谢!

1 个答案:

答案 0 :(得分:3)

可能应该尝试以下方法:

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