mysql存储过程创建动态创建数据库,数据表
1.过程:自动创建数据库,从一个表中查出需要创建数据的名称,然后创建数据库。需要依赖于PREPARE 和EXECUTE 函数,
刚开始安装正常思路直接查,然后赋值,最后创建。但是出现了一个问题
这个时候创建的数据库不是动态的,会一直创建库名为baseName的数据库。
经过查资料,创建数据库,表是不能这么写的,需要写成动态的sql语句才可以。
BEGIN
#定义数据库名称变量
DECLARE baseName VARCHAR(20);
#查看库名赋值给变量baseName
select `name` into baseName from user where id=(select max(id) from user);
#创建数据库
SET @databaseSql = CONCAT('CREATE DATABASE IF NOT EXISTS ',baseName);
#执行动态生成的sql语句
PREPARE temp FROM @databaseSql;
EXECUTE temp;
END