我想在MySQL中创建一个表名,但是使用我声明的字符串值。这可能吗?我在考虑这样的事情:
DECLARE new_table_name VARCHAR(255);
SET new_table_name = CONCAT("foo",123);
CREATE TABLE new_table_name (
...etc...
)
到目前为止,我无法弄清楚如何做到这一点。顺便说一句,我在存储过程中得到了这个。
答案 0 :(得分:3)
在存储过程中使用以下代码:
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$$