【问题标题】:MySQL create table name from stringMySQL从字符串创建表名
【发布时间】:2016-06-17 04:12:32
【问题描述】:
我想在 MySQL 中创建一个表名,但使用我已声明的字符串值。这可能吗?我在想这样的事情:
DECLARE new_table_name VARCHAR(255);
SET new_table_name = CONCAT("foo",123);
CREATE TABLE new_table_name (
...etc...
)
到目前为止,我无法弄清楚如何做到这一点。顺便说一句,我在存储过程中得到了这个。
【问题讨论】:
标签:
mysql
string
stored-procedures
create-table
【解决方案1】:
在您的存储过程中使用以下代码:
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$$