MySQL从字符串创建表名

标签 mysql string stored-procedures create-table

我想在 MySQL 中创建一个表名,但使用我声明的字符串值。这可能吗?我在想这样的事情:

DECLARE new_table_name VARCHAR(255);
SET new_table_name = CONCAT("foo",123);
CREATE TABLE new_table_name (
    ...etc...
)

到目前为止,我不知道该怎么做。顺便说一句,我在存储过程中得到了这个。

最佳答案

在您的存储过程中使用以下代码:

BEGIN

DECLARE new_table_name VARCHAR(255);
SET new_table_name = CONCAT("foo",123);

SET @createTable = CONCAT("CREATE TABLE ", new_table_name, "(id int, some_col varchar(55))");

PREPARE createStmt FROM @createTable;
EXECUTE createStmt;
DEALLOCATE PREPARE createStmt;

END$$

关于MySQL从字符串创建表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37873003/

相关文章:

php - 有什么解决方案可以将字符串转换为金额吗?

sql-server - sql server 中用于数据访问目的的 View 或存储过程中哪一个最好

javascript - 如何在包含日期的字符串中查找最早的日期?

mysql - 解决多表左连接问题

mysql - 从 MySQL 数据库中删除权限

php - 在 mysql row php 中使用 urlencode

python - Pandas 中的条件词频计数

sql - 将 SQL Server 存储过程转换为 Oracle 存储过程

java - MySQL - Java 和 MySQL 过程和函数的集成问题

Mysql查询优化,搜索记录!