主键的特点
-
一个表中只能有一个主键,如果在其他字段上建立主键,则原来的主键就会取消
-
主键的值不可重复,也不能为空(NULL)
在InnoDB中,clustered index选择原则:
-
显示声明的主键
-
第一个不包含null列的唯一索引
-
内置的rowid
InnoDB中,主键特点:
-
如果索引最后没有主键,则会在索引内部存储时加上主键(只有主键key值,而不是整个row data)
-
如果索引最后已有主键,则会显式加上主键
-
因此只要用户定义的索引字段中包含了主键中的字段,那么这个字段就不会再被InnoDB自动加到索引中了,如果用户的索引字段中没有完全包含主键字段,InnoDB就会把剩下的主键字段加到索引末尾