【问题标题】: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$$
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-01
      • 2023-04-04
      • 2016-02-13
      • 2023-01-03
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多