先来看下我们正常的建表代码
CREATE TABLE user_t (

id int(11) NOT NULL AUTO_INCREMENT,

user_name varchar(40) NOT NULL,

password varchar(255) NOT NULL,

age int(4) NOT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
复制代码
如上所示,通常会给主键加上 not null,auto_increment ,primary key 甚至UNSINGED 这些属性,我们可以通过这些属性去了解主键他的特性。

  1. 首先主键索引是唯一的,所以他确定了数据的唯一性,该字段不能重复。
    2.auto_increment 是递增的意思,每添加一条记录都会自动加 1 。
    3.一般我们的主键都会加上not null ,让主键不可为空,好比一个人如果没有身份证,是不合法的。
    4.至于unsinged这个属性我们细说下:
    UNSIGNED属性就是将数字类型无符号化,与C、C++这些程序语言中的unsigned含义相同。例如,INT的类型范围是-2 147 483 648 ~ 2 147 483 647, INT UNSIGNED的范围类型就是0 ~ 4 294 967 295。

在MYSQL中整型范围:

类型 大小 范围(有符号) 范围(无符号) 用途

TINYINT 1 字节 (-128,127) (0,255) 小整数值

SMALLINT 2 字节 (-32 768,32 767) (0,65 535) 大整数值

MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值

INT或INTEGER 4 字节 (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值

MySQL 主键详解相关推荐

  1. mysql 外键详解_mysql外键详解

    1.1.MySQL中"键"和"索引"的定义相同,所以外键和主键一样也是索引的一种.不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确 ...

  2. mysql 主键 自增_MySQL自增主键详解

    一.自增值保存在哪儿? 不同的引擎对于自增值的保存策略不同 1.MyISAM引擎的自增值保存在数据文件中 2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化 ...

  3. MySQL自增主键详解

    一.自增值保存在哪儿? 不同的引擎对于自增值的保存策略不同 1.MyISAM引擎的自增值保存在数据文件中 2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化 ...

  4. mysql外键必须是主键吗_mysql数据库外键、主键详解

    一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号 ...

  5. mysql 外键详解_mysql 中的外键key值的详解

    如果Key是空的, 那么该列值的可以重复, 表示该列没有索引, 或者是一个非唯一的复合索引的非前导列 2. 如果Key是PRI,  那么该列是主键的组成部分 3. 如果Key是UNI,  那么该列是一 ...

  6. Mysql 外键详解(Foreign Key)

    文章目录 1 概述 2 语法 2.1 创建表时,添加外键约束 2.2 修改表时,添加外键约束 2.3 删除外键约束 1 概述 #mermaid-svg-b7XqGjZVURw4K7zE .label{ ...

  7. mysql 主键引用外键_mysql 主键与外键

    一.主键详解,引用自:https://blog.csdn.net/haiross/article/details/50456154 1.要设置主键自增的话字段必须是整形数字. 二.外键详解:引用自ht ...

  8. (转载)MySQL数据库的主键和外键详解

    主键 主键的定义 主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY 约束来 ...

  9. mysql 主键溢出检查_详解MySQL 表中非主键列溢出情况监控

    今天,又掉坑了. 之前踩到过MySQL主键溢出的情况,通过prometheus监控起来了. 这次遇到的坑,更加的隐蔽. 是一个log表里面的一个int signed类型的列写满了.快速的解决方法当然还 ...

最新文章

  1. 从小乡村走出的985高校博导坦言:读书这条路最简单!
  2. 两种不同的人工智能观:工程观点和科学观点
  3. mooc浙大数据结构PTA习题之一元多项式的乘法与加法运算
  4. ansible企业级自动化运维工具
  5. 【LeetCode】455. 分发饼干(图解)
  6. Excel中 提取字符串中的字符或数字
  7. makefile obj文件路径_Makefile一问:如何修改.o输出文件的输出路径 Linux/Unix社区 / 程序开......
  8. 好程序员前端分享使用JS开发简单的音乐播放器
  9. 安卓超过两行就加省略号_基础标点符号使用规则详解—8.省略号
  10. 怎样高速读懂别人的项目
  11. Frame - 快速创建高品质的 Web 应用原型
  12. 计算机磁盘管理使用不,win10系统提示“操作无法完成,因为磁盘管理控制台不是最新状态”的处理方法...
  13. how to switch between python3.5 and python3.6
  14. Leetcode961. N-Repeated Element in Size 2N Array重复N次的元素
  15. Java基础(一):简介和基础数据类型
  16. 种子文件转成为磁力链接 下载BT磁力转换小工具
  17. java根号n元素的合并排序算法_根号N段合并排序
  18. 是谁扼杀了你的梦想?
  19. 线性代数行列式计算之元素拆分与凑项法
  20. CS61A fa2021 Composing Programs 2.7 Object Abstraction 对象抽象

热门文章

  1. HorizontalListView 横向listview
  2. petapoco 使用 MiniProfiler Glimpse监控
  3. 极速office(Word)怎么插入艺术字
  4. unix时间戳c语言源码
  5. 【奋斗人生】24岁的你别再混沌度日了!
  6. bfs dfs 搜索入门模板题
  7. Java中间件简单介绍
  8. 在Canvas画布上绘制直线
  9. Exchange Server 常见问题
  10. k8s部署-20-k8s的服务发现原理,k8s有几种服务发现规则