主键和唯一键有什么区别?

what is difference between primary and unique key?

主键和唯一键(在MySQL中)有什么区别?如何将这些视为外键?请解释。 我尝试创建一个数据库 table,但不知道如何将主键设为外键。是否采用 Joins 概念,即分离属性自动创建外键?

MySQL中的一个table最多只能有一个Primary Key,而您可以创建任意多个唯一Key或索引。

此外,主键不可为空,而唯一键的值可以为 NULL。

但最大的区别在于目的:

你想要一个主键因为你需要一个标识符

另一方面,独特的 Key/Index 可用于控制自动插入到 table 中的值(例如,避免重复 none 是允许的)

如果要将某列作为伪键,需要先将其定义为主键。 Unique Constraint 不能作为外键与其他 table 关联。