我看网上说primary key 就等于唯一+不为空,而且一个表里只能有一个primary key,但是我在数据库创建表的时候PRIMARY KEY (username
,bm_URL
),这样不就2个主键了?而且我insert数据的时候 username 有重复'admin',并没有报错啊,怎么解释第一句话呢
PHP中文网2017-04-17 13:37:33
primary key的含义是一条记录的唯一标识,类似于身份证的ID。
主键可以是一个字段或者多个字段联合组成,如果是一个字段,则不同记录或称不同行的主键不允许重复;如果是多个字段联合组成,则是这些字段的组合不允许相同。
所以你的情况只要不是username,bm_URL不同时相同就不会冲突。
黄舟2017-04-17 13:37:33
数据库里的索引(index或者key)并不是针对一列的,因此一个key可以由多列构成(如你这儿设置的username和bm_URL)。因此主键的唯一性指的是它所包含的所有列共同合起来不能重复,你单独username重复是没关系的~