MySQL 主键详解
先来看下我们正常的建表代码
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 这些属性,我们可以通过这些属性去了解主键他的特性。
- 首先主键索引是唯一的,所以他确定了数据的唯一性,该字段不能重复。
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 主键详解相关推荐
- mysql 外键详解_mysql外键详解
1.1.MySQL中"键"和"索引"的定义相同,所以外键和主键一样也是索引的一种.不同的是MySQL会自动为所有表的主键进行索引,但是外键字段必须由用户进行明确 ...
- mysql 主键 自增_MySQL自增主键详解
一.自增值保存在哪儿? 不同的引擎对于自增值的保存策略不同 1.MyISAM引擎的自增值保存在数据文件中 2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化 ...
- MySQL自增主键详解
一.自增值保存在哪儿? 不同的引擎对于自增值的保存策略不同 1.MyISAM引擎的自增值保存在数据文件中 2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化 ...
- mysql外键必须是主键吗_mysql数据库外键、主键详解
一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号 ...
- mysql 外键详解_mysql 中的外键key值的详解
如果Key是空的, 那么该列值的可以重复, 表示该列没有索引, 或者是一个非唯一的复合索引的非前导列 2. 如果Key是PRI, 那么该列是主键的组成部分 3. 如果Key是UNI, 那么该列是一 ...
- Mysql 外键详解(Foreign Key)
文章目录 1 概述 2 语法 2.1 创建表时,添加外键约束 2.2 修改表时,添加外键约束 2.3 删除外键约束 1 概述 #mermaid-svg-b7XqGjZVURw4K7zE .label{ ...
- mysql 主键引用外键_mysql 主键与外键
一.主键详解,引用自:https://blog.csdn.net/haiross/article/details/50456154 1.要设置主键自增的话字段必须是整形数字. 二.外键详解:引用自ht ...
- (转载)MySQL数据库的主键和外键详解
主键 主键的定义 主键:表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行.这样的一列或多列称为表的主键,通过它可强制表的实体完整性.当创建或更改表时可通过定义 PRIMARY KEY 约束来 ...
- mysql 主键溢出检查_详解MySQL 表中非主键列溢出情况监控
今天,又掉坑了. 之前踩到过MySQL主键溢出的情况,通过prometheus监控起来了. 这次遇到的坑,更加的隐蔽. 是一个log表里面的一个int signed类型的列写满了.快速的解决方法当然还 ...
最新文章
- 从小乡村走出的985高校博导坦言:读书这条路最简单!
- 两种不同的人工智能观:工程观点和科学观点
- mooc浙大数据结构PTA习题之一元多项式的乘法与加法运算
- ansible企业级自动化运维工具
- 【LeetCode】455. 分发饼干(图解)
- Excel中 提取字符串中的字符或数字
- makefile obj文件路径_Makefile一问:如何修改.o输出文件的输出路径 Linux/Unix社区 / 程序开......
- 好程序员前端分享使用JS开发简单的音乐播放器
- 安卓超过两行就加省略号_基础标点符号使用规则详解—8.省略号
- 怎样高速读懂别人的项目
- Frame - 快速创建高品质的 Web 应用原型
- 计算机磁盘管理使用不,win10系统提示“操作无法完成,因为磁盘管理控制台不是最新状态”的处理方法...
- how to switch between python3.5 and python3.6
- Leetcode961. N-Repeated Element in Size 2N Array重复N次的元素
- Java基础(一):简介和基础数据类型
- 种子文件转成为磁力链接 下载BT磁力转换小工具
- java根号n元素的合并排序算法_根号N段合并排序
- 是谁扼杀了你的梦想?
- 线性代数行列式计算之元素拆分与凑项法
- CS61A fa2021 Composing Programs 2.7 Object Abstraction 对象抽象