我想在 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/