我想通过使用变量来创建和使用数据库/模式,所以当我想在不同的模式上运行脚本时,我可以更改它。
我有这样的事情:
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;
我有什么方法可以做到这一点吗?
答案 0 :(得分:1)
由于您无法使用预准备语句执行USE
语句,因此您必须准备所有查询,以便将数据库名称替换为它们。