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
本文详细介绍如何使用MySQL存储过程动态创建数据库及数据表。通过示例代码展示如何利用PREPARE和EXECUTE函数实现这一功能,解决直接赋值创建数据库的静态问题。

4635

被折叠的 条评论
为什么被折叠?



