主键(Primary Key)是关系型数据库中一种特殊的唯一标识符(Unique Identifier),用于标识一张表中唯一确定一行数据的列或者列的组合。主键可以是一个字段,也可以是多个字段的组合。主键的作用是保证表中数据的唯一性并提高检索效率。
主键的特点如下:
唯一性:每个主键的取值都必须是唯一的,不能重复。
非空性:主键不能为NULL,因为NULL是无值的状态,无法唯一确定一行数据。
稳定性:一旦确定了主键值,就不能更改,否则会导致数据的混乱。
常见的主键类型包括:
自增长数字类型(如MySQL中的AUTO_INCREMENT):数据表中新增记录时,自动在主键列生成一个新的、唯一的数字值。
UUID类型:使用随机算法生成一个唯一标识,与传统自增长数字类型相比,UUID并不是按照特定顺序生成的,因此不容易被猜测,更加安全可靠。
基于时间戳的主键:使用时间戳(如当前时间的毫秒数或纳秒数)作为主键值,可以保证唯一并且具有一定的可读性。