小简(JanYork) 2022-05-05 20:25 采纳率: 88.9%
浏览 17

求解MySQL复制动态表

参数为表名(要创建的表),已有表名(已有表);

功能是创建一个和已有表结构相同并且数据一样的新表。

思路:

拼接create tablename as ddl语句创建表的sql语句;

使用execute immediate执行sql语句;

代码如下

delimiter &&
create procedure copy_demo()
begin
    CREATE TABLE demo(
        `id` INT UNSIGNED AUTO_INCREMENT,
        `title` VARCHAR(100) NOT NULL
    );


    execute immediate select count(1) from emp
    into demo2;
end &&
delimiter ;
call copy_demo();

我上面创建了一个demo表,我需要新创建一个demo2表并且将demo的结构与内容复制到demo2表

  • 写回答

1条回答 默认 最新

  • 中年IT男III 2022-05-06 11:07
    关注

    create table newTableName as select * from oldTableName

    评论

报告相同问题?

问题事件

  • 创建了问题 5月5日