如上图,将goods表中的cate_name字段拆分一个商品分类表goods_cates,步骤如下:

1,创建商品分类表-goods_cates;

create table goods_cates(

id int unsigned primary key auto_increment,

name varchar(40) not null
);

2,将goods表数据根据字段cate_name分组,将分组后的商品种类信息添加到goods_cates表;

注: 这里insert into 语句没有values 关键字!

insert into goods_cates (name) select cate_name from goods group by cate_name;

3,同步表数据-使用goods_cates表的id字段数据更新goods表的cate_name字段数据;

update goods as g inner join goods_cates as c on g.cate_name=c.name set g.cate_name=c.id;

4,将goods表的cate_name字段修改为cate_id,并修改数据类型属性与goods_cates表的id字段的数据类型属性一致;

alter table goods change cate_name cate_id int unsigned not null;

5,在goods表中添加外键(foreign key)

外键约束:对数据的有效性进行验证
关键字: foreign key,只有 innodb数据库引擎 支持外键约束

在实际开发中,很少会使用到外键约束,会极大的降低表更新的效率

alter table goods add foreign key(cate_id) references goods_cates(id);

拆分后的goods表

拆分后的goods_cates表

最新文章

  1. python 实现树结构的打印
  2. 部署应用程序QQ
  3. Mongodb使用总结
  4. 乐在其中设计模式(C#) - 提供者模式(Provider Pattern)
  5. 27. Remove Element - 移除元素-Easy
  6. IIS部署网站时常见问题解决
  7. ProxySQL 读写分离实践
  8. 解决 HomeBrew 下载缓慢的问题
  9. Flask-Login用户登陆
  10. web框架实现购物车数量加减
  11. VMware下centos7安装
  12. mongodb认识
  13. ext与xfs文件系统比较与总结
  14. jqGrid 加载完jqGrid之后可以执行函数的方法
  15. jquery源码学习-初始(1)
  16. opencv 将视频分解成图片和使用本地图片合成视频
  17. [JSOI2007]字符加密 后缀数组
  18. centos下搭建DNS
  19. .NET Framwork 之 托管代码的执行过程
  20. 关于Maven项目install时出现No compiler is provided in this environment的处理

热门文章

  1. 关于“Unknown or unsupported command 'install'”问题解决的小结
  2. docker集群故障迁移
  3. eclipse spring boot 项目出现java.lang.ClassCastException 解决方法
  4. Dubbo入门到精通学习笔记(十二):Dubbo消费端直连提供者(开发调试)、Dubbo服务只订阅(开发调试)、Dubbo服务只注册
  5. Linux内存管理(深入理解Linux内核)
  6. 拾遗:YouCompleteMe 前传——编译安装 llvm + clang
  7. JDK8新特性之方法引用
  8. C# WinfForm 控件之dev报表 XtraReport (七)报表合并
  9. 48-Ubuntu-系统信息-3-查看进程命令
  10. 第十一篇 session和cookie自动登录机制