MySQL使用变量创建和使用新数据库

时间:2014-09-01 10:37:37

标签: mysql

我想通过使用变量来创建和使用数据库/模式,所以当我想在不同的模式上运行脚本时,我可以更改它。

我有这样的事情:

SET @VarSchema = 'test';
SET @Front = 'CREATE DATABASE IF NOT EXISTS ';
SET @EndPart = ';';
SET @Stmt = CONCAT(@Front,@VarSchema,@EndPart);
PREPARE stmt FROM @Stmt;
EXECUTE stmt;

SET @Front = 'USE ';
SET @EndPart = ';';
SET @Stmt = CONCAT(@Front,@VarSchema,@EndPart);
PREPARE COMMAND FROM @Stmt;
EXECUTE COMMAND;

但这给了我这个错误:Error Code: 1295. This command is not supported in the prepared statement protocol yet

编辑:它抱怨这句话:

SET @Front = 'USE ';
SET @EndPart = ';';
SET @Stmt = CONCAT(@Front,@VarSchema,@EndPart);
PREPARE COMMAND FROM @Stmt;
EXECUTE COMMAND;

我有什么方法可以做到这一点吗?

1 个答案:

答案 0 :(得分:1)

由于您无法使用预准备语句执行USE语句,因此您必须准备所有查询,以便将数据库名称替换为它们。