• 表中每一行都应该有可以唯一标识自己的一列(或一组列)。
  • 主键(primary key) 一列(或一组列),其值能够唯一区分表中的每个行。
    唯一标识表中每行的这个列(或这组列)称为主键。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只涉及相关的行。
  • 条件:任何两行都不具有相同的主键值;每行都必须具有一个主键值

    复合主键

  • 含有一个以上的字段组成的主键。

    create table test 
    ( 
       user_id number, 
       role_id number, 
       primary key (user_id,role_id) 
    ) 
    
  • 上面的user_id&role_id字段组合起来就是test表的复合主键,它的出现是由于user_id和role_id都可能出现重复,所以一起作为主键,只要没有两条记录是user_id和role_id同时一样的,就认为不重复。