版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40667484/article/details/87873620
重复之前的操作,把brand_name改成brand_id并形成外键
1.分析并设计表(方便,快捷的表设计)
2.创建分表并把主表数据传到分表当中
3.同步表思想将主表数据更新
4.修改表结构
5.设置外键(实际开发不适用)
2.创建分表并把主表数据传到分表当中
create table goods_brands(
id int unsigned primary key auto_increment,
name varchar(255) not null
);
insert into goods_brands(name) select brand_name from goods group by brand_name;
3.同步表思想将主表数据更新
update goods as a inner join goods_brands as b on a.brand_name=b.name set a.brand_name=b.id;
4.修改表结构
alter table goods change brand_name brand_id int unsigned not null;
5.设置外键
alter table goods add foreign key(brand_id) references goods_brands(id);
查看外键
show create table goods;
如图:
但是在实际开发过程中,我们应当不使用或者尽量少使用外键。
因为当数据过大的时候,使用外键效率会非常的低
删除外键
alter table goods drop foreign key goods_ibfk_1;
alter table goods drop foreign key goods_ibfk_2;
附上数据库开发的军规30条(架构师是怎么养成的)
扫描二维码关注公众号,回复:
5264421 查看本文章