MySQL 从字符串创建 table 名称

MySQL create table name from string

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

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$$