2026年mysql主键允许为null吗(mysql主键可以设置为自动增加吗)

mysql主键允许为null吗(mysql主键可以设置为自动增加吗)在字段类型之后 用于对当前字段进行一系列的约束的内容 现在内容的情况 字段属性 null not null primary key auto increment unique key comment default Null 表示字段的值可以为空 在进行数据插入的时候 该字段可以不给数据 notnull 表示不能为空 必须要给定值 不能是 null Default 默认值 系统给出最多的值是 default null 尽量不要让字段允许为空 因为数据往往需要有值才有意义 nbsp



在字段类型之后,用于对当前字段进行一系列的约束的内容(现在内容的情况)

字段属性:null/not null,primary key,auto_increment,unique key,comment,default

Null:表示字段的值可以为空(在进行数据插入的时候,该字段可以不给数据),notnull表示不能为空,必须要给定值(不能是null)

Default:默认值,系统给出最多的值是default null

尽量不要让字段允许为空,因为数据往往需要有值才有意义。

使用default关键字来显示使用系统的默认值

主键,主要的键,用主键修饰的字段,该字段具有唯一性(不能重复)

1.      一张表最多只能一个主键

2.      主键字段不能为空

如何给表添加主键?

1.      在创建表的时候,直接在某个字段后添加主键

2.      在表后面增加primary key语句,来包含对应的主键字段

使用该方式,可以使用复合主键(可以使用多个字段共同组成主键)

3.      可以通过修改表结构增加主键

语法:alter table 表名 add primary key(字段列表)

前提:当前表的数据中,字段唯一

PRI代表主键 primary key就是主键

修改主键:主键不能被修改。

修改:先删除后增加

删除主键:alter table 表名 drop primary key

查看复合主键

desc 表名查询表结构

当出现两个PRI的时候

不代表有两个主键,代表由两个字段共同组成复合主键

Alter table 表名 add 字段 int primary key first;

因为字段插入之后,由于数据表的记录有3条,系统经过5语句读取之后,发现不能为空,是整型,所以默认值为0,但是有三个0,所以记录重复,因此主键插入失败

Alter table 表名 add 字段 int primary key auto_increment first;

与上面一样,但是多了一个auto_increment auto_increment属性,能够自动为主键自增,而且是从1开始,每次自增1,最终字段的值应该为1,2,3

自动增长

1.      字段必须是整型

2.      必须保证使用自动增长的字段首先满足的一个条件:是一个索引字段

3.      一个表只能有一个自动增长

4.      自动增长通常是配合逻辑主键(id int primary key auto_increment)

自动增长在使用后会出现表的选项里,而且其值为下一条要自增的字段的值

修改自动增长的值

Alter table 表名 auto_increment = 值

不能修改为已经存在的值

不存在的值可以修改

如果小于自动增长的值,都不能修改

注意:auto_increment 的值的修改,被修改的新值,必须要比当前表中已经存在的自增长的值要大

查看自增长控制变量

Show variables like ‘auto_increment%’;

可以通过修改自增长配置来实现自增长的控制

唯一键,字段的值不能重复

1.      一张表唯一键可以有多个

2.      唯一键不对null进行处理

如果添加唯一键?

跟主键的添加方式基本相同

1.      在字段之后直接跟unique key

2.      在表的所有字段之后,使用unique key(字段列表)

3.      在修改表结构的时候增加唯一键:alter table 表名 add unque key(字段列表)

注意:当唯一键不允许为空之后,就变成了主键

如果表中的存在多个唯一键并且都不为空,只有第一个不为空的唯一键变成主键,其它还是唯一键

唯一键转主键:

1.      该唯一键不能为空

2.      改唯一键是第一个不为空的唯一键

唯一键不回去区分null字段

删除唯一键:

Alter table 表名 drop unique key(字段列表); -- 错误

唯一键与主键不同,主键一张表只有一个,而唯一键可能有多个,所谓唯一键的删除,需要额外的指定要删除的唯一键的名字

语法:alter table 表名 drop index 唯一键名字/字段名

注释,是一种字段说明,会永远的保存在表的创建语句中

注释:表示当前代码是注释,不用执行,在语句执行之后,会被忽略掉

1.      两个中划线跟一个空格,行注释

2.      #也是一种行注释

3.      块注释://

今天的文章 2026年mysql主键允许为null吗(mysql主键可以设置为自动增加吗)分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-07-02 23:01
下一篇 2026-02-24 22:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/48147.html