mysql中主键和唯一键的区别

mysql中主键和唯一键的区别,第1张

主键和唯一索引都要求值唯一,但是它们还是有区别的:

①.主键是一种约束,唯一索引是一种索引;

②.一张表只能有一个主键,但可以创建多个唯一索引;

③.主键创建后一定包含一个唯一索引,唯一索引并一定是主键;

④.主键不能为null,唯一索引可以为null;

⑤.主键可以做为外键,唯一索引不行;

创建表:create table 表名 (字段名 int(10) primary key not null unique auto_increment)

int(10) 数字类型 长度为10

primary key主键 非空且唯一

NOT NULL不能为空 必填

unique 唯一约束,该内容必须唯一

auto_increment主键自增长 从1开始,步长为1

如果已经创建可修改字段的类型及..:alter table 表名 modify 字段名 ................

MySQL中有唯一性约束的列能为空。

唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的,允许为空,但只能出现一个空值。对字段使用了Unique约束,可以当主键在数据库中使用。约束名的命名规则推荐采用“约束类型_约束字段”这样的形式。

扩展资料:

当唯一约束和主键都强制唯一性时,如果满足下列条件,则应将唯一约束而不是主键约束附加到表上:

1、希望在列或列的组合中强制唯一性。可将多个唯一约束附加到表,但是只能将一个主键约束附加到表。

2、希望在允许空值的列中强制唯一性。可将唯一约束附加到允许空值的列,但是只能将主键约束附加到不允许空值的列。当将唯一约束附加到允许空值的列时,请确保在约束的列中最多有 一行包含空值。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/6188580.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-17
下一篇2023-03-17

发表评论

登录后才能评论

评论列表(0条)

    保存