MySql创建了几个具有相同结构的表

Dim*_*nev 2 mysql sql

我必须创建8个具有完全相同结构的表.最简单的方法是复制粘贴代码并为表应用不同的名称.我希望很酷,并用一个周期创建它们.如何进行该循环以及应用不同名称的最佳方法是什么?谢谢

Rol*_*DBA 8

创建具有重复结构的表的最快方法如下:

CREATE TABLE tb1
(
    id int not null auto_increment,
    ...,
    primary key (id)
);
create table tb2 like tb1;
create table tb3 like tb1;
create table tb4 like tb1;
...
create table tb8 like tb1;
Run Code Online (Sandbox Code Playgroud)

这会复制表结构和相应的索引.

如果你需要创建一个没有索引的表,这对你来说可能没问题

CREATE TABLE tb1
(
    id int not null auto_increment,
    ...,
    primary key (id)
);
CREATE TABLE tb2 AS SELECT * FROM tb1 WHERE 1=2;
Run Code Online (Sandbox Code Playgroud)

根据列定义,这可能有效,也可能无效.

警告

对于具有外键约束的表,这不可能.这将分阶段完成.