当前位置: 首页 > news >正文

Mysql:主键

MySQL 中的主键(Primary Key)是用来唯一标识表中每一行数据的字段或字段组合

例如:

CREATE TABLE users ( id BIGINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT );

这里id就是主键。

主键的特点

  1. 唯一

    不能有两行数据拥有相同的主键值。

  2. 不能为 NULL

    每一行都必须有确定的主键值。

  3. 一张表只能有一个主键

    但主键可以由多个字段组成,这叫联合主键

    PRIMARY KEY (user_id, course_id)
  4. 通常会自动建立索引

    主键本身就是一种索引,适合根据主键快速查询:

    SELECT * FROM users WHERE id = 10;
  5. 不一定需要自增

    主键可以是:

    • 自增数字
    • UUID
    • 业务编号
    • 多个字段组合

InnoDB 中的特殊含义

在 InnoDB 中,主键索引通常是聚簇索引

主键索引的叶子节点 = 主键值 + 完整的一行数据

所以根据主键查询时,找到主键索引叶子节点就能直接得到整行数据。

如果没有显式定义主键,InnoDB 会依次尝试:

  1. 使用第一个UNIQUE NOT NULL索引作为聚簇索引;
  2. 如果也没有,则自动生成隐藏的 6 字节行 ID。

简单来说:

主键就是一张表中用于唯一确定每一行记录的“身份证号”。

http://www.jsqmd.com/news/1337476/

相关文章:

  • 成都管道疏通与漏水检测服务怎么选?专业机构横向参考指南 - 优质品牌商家
  • 构建高效Shiro密钥字典:从原理到实战的攻防利器
  • 基于开源LLM与自动化脚本构建个人AI助手:OpenClaw实战指南
  • C语言与C++在基础语法上的区别
  • 嵌入式以太网开发实战:从MII/RMII接口到STM32/GD32驱动调试
  • Java编码表深度解析:从原理到实战,彻底解决乱码问题
  • 单链表:找中间节点、找倒数第k节点、是否有环、逆序、排序(选择、冒泡、插入)
  • 企业网盘定制化开发技术选型:私有化部署、OpenAPI集成与AI能力对比分析
  • PyInstaller打包Python程序:从原理到实战的完整指南
  • 数字IC/FPGA复位设计:同步与异步复位原理、异步复位同步释放实战
  • 网络诊断利器netstat:从原理到实战,解决端口占用、连接泄漏与性能瓶颈
  • PyTorch神经网络实战:从数据准备到模型训练与验证的完整流程
  • 2026年8月全屋配电箱/广东单排配电箱公司推荐**_广东俊朗松田电器有限公司 - 行业平台推荐
  • 从Redis缓存到MySQL索引:拆解高并发外卖系统后端核心设计
  • boss 直聘招人怎么收费的?HR 深度解析,附中小企替代招聘平台
  • OpenClaw AI智能体本地部署指南:从Docker到Ollama的完整实践
  • MHA集群搭建与故障切换
  • 如何在React项目中开启生产模式:全面指南与最佳实践
  • 2026年白底证件照换底色教程:几种免费出图的方法和工具 - 办公小帮手
  • 从B站视频到个人音乐库:BilibiliDown音频提取完全指南
  • Qwen3.8-Max 实战指南:API调用、本地部署与长文本处理优化
  • Unity引擎入门指南:从核心概念到第一个可交互3D场景开发
  • 2026年8月三相变压器/浙江美式箱变变压器厂家优选名单_浙江海瑞电气有限公司 - 品牌宣传支持者
  • MOSFET动态参数深度解析:从栅极电荷到SOA,避开选型陷阱
  • 华为TCX转换器:3步解决运动数据跨平台同步难题
  • 嵌入式软件测试——故障注入原理与实践
  • 若依Vue框架中安全获取登录用户ID的四种实践方案
  • OpenCV C++答题卡识别系统:从图像预处理到答案判定的完整实现
  • QuickBMS:200+游戏文件格式解析的二进制脚本引擎终极指南
  • NV-Q-Link 相关的代码信息收集