【MYSQL笔记2】复制表,在已有表的基础上设置主键,insert和replace
程序员文章站
2022-06-21 22:04:05
之前我自己建立好了一个数据库xscj;表xs是已经定义好的 具体的定义数据类型如下: 为了复制表xs,我们新建一个表名为xstext,使用下列语句进行复制xs,或者说是备份都可以; 我们可以看到,复制的表的字段与xs表的字段相同,不同之处在于复制的表没有主键或主码,同时复制的表里存储了与原表相同的信 ......
之前我自己建立好了一个数据库xscj;表xs是已经定义好的
具体的定义数据类型如下:
为了复制表xs,我们新建一个表名为xstext,使用下列语句进行复制xs,或者说是备份都可以;
create table xstext as select * from x
create table xstext select * from xs;
我们可以看到,复制的表的字段与xs表的字段相同,不同之处在于复制的表没有主键或主码,同时复制的表里存储了与原表相同的信息
完成了表的复制,下面设置xstext表的主键,使用下列语句
alter table xstext add constraint ky_xstext primary key (学号);
xstext是我自己的表名,学号是表里的一个字段,换成自己的记好了
这样之后,就可以看到复制的表里主键已经设置成功了
因为表有主键,使用insert语句,会出错
换用replace语句,可以成功插入
数据来源:郑阿奇的《mysql数据库教程》