数据表-主键

主键

表中每一行都应该有可以唯一标识自己的一列(或一组列)。一个顾客表可以使用顾客编号列,而订单表可以使用订单ID,雇员表可以使用

雇员ID或雇员社会保险号。

主键(primary key)一一列(或一组列),其值能够唯一区分表中每个行。

唯一标识表中每行的这个列(或这组列)称为主键。主键用来表示一个特定的行。没有主键,更新或删除表中特定行很困难,因为没有安

全的方法保证只涉及相关的行应该总是定义主键,虽然并不总是都需要主键,但大多数数据库设计人员都应保证他们创建的每个表具有一个主键,以便于以后的数据操纵和管理。

表中的任何列都可以作为主键,只要它满足以下条件:

1.任意两行都不具有相同的主键值;

2.每个行都必须具有一个主键值(主键列不允许NULL值)

主键值规则 

这里列出的规则是MySQL本身强制实施的,主键通常定义在表的一列上,但这并不是必需的,也可以一起使用多个列作为主键。在使用多列作为主键时,上述条件必须应用到构成主键的所有列,所有列值的组合必须是唯一的(但单个列的值可以不唯一)。

主键的最好习惯 

除MySQL强制实施的规则外,应该坚持的几个普遍认可的最好习惯为:

1、不更新主键列中的值;

2、不重用主键列的值;

3、不在主键列中使用可能会更改的值。(例如,如果使用一个名字作为主键以标识某个供应商,当该供应商合并和更改其名字时,必须更改这个主键。)

你可能感兴趣的:(数据表-主键)