MySQL 必知必会
朱晓峰
前摩根大通银行技术部副总裁、系统架构师
立即订阅
914 人已学习
课程目录
已更新 7 讲 / 共 34 讲
0/4登录后,你可以任选4讲全文学习。
课前准备 (2讲)
开篇词 | 在实战中学习,是解锁MySQL技能的最佳方法
免费
环境准备 | 带你安装MySQL和图形化管理工具Workbench
实践篇 (5讲)
01 | 存储:一个完整的数据存储过程是怎样的?
02 | 字段:这么多字段类型,该怎么定义?
03 | 表:怎么创建和修改表?
04 | 增删改查:如何操作表中的数据?
05 | 主键:如何正确设置主键?
MySQL 必知必会
15
15
1.0x
00:00/00:00
登录|注册

05 | 主键:如何正确设置主键?

朱晓峰 2021-03-18
你好,我是朱晓峰,今天我们来聊一聊如何用好 MySQL 的主键。
前面在讲存储的时候,我提到过主键,它可以唯一标识表中的某一条记录,对数据表来说非常重要。当我们需要查询和引用表中的一条记录的时候,最好的办法就是通过主键。只有合理地设置主键,才能确保我们准确、快速地找到所需要的数据记录。今天我就借助咱们的超市项目的实际需求,来给你讲一讲怎么正确设置主键。
在我们的项目中,客户要进行会员营销,相应的,我们就需要处理会员信息。会员信息表(demo.membermaster)的设计大体如下:
为了能够唯一地标识一个会员的信息,我们需要为会员信息表设置一个主键。那么,怎么为这个表设置主键,才能达到我们理想的目标呢?
今天,我就带你在解决这个实际问题的过程中,学习下三种设置主键的思路:业务字段做主键自增字段做主键手动赋值字段做主键

业务字段做主键

针对这个需求,我们最容易想到的,是选择表中已有的字段,也就是跟业务相关的字段做主键。那么,在这个表里,哪个字段比较合适呢?我们来分析一下。
会员卡号(cardno)看起来比较合适,因为会员卡号不能为空,而且有唯一性,可以用来标识一条会员记录。我们来尝试一下用会员卡号做主键。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《MySQL 必知必会》,如需阅读全部文章,
请订阅文章所属专栏
立即订阅
登录 后留言

精选留言(1)

  • 右耳朵猫咪
    如果是多个门店同时添加会员信息呢?那么这些门店查询的max_id是一样的,添加会员的id也是一样的了,即max_id+1。
    2021-03-18
    2
收起评论
1
返回
顶部