84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
我看网上说primary key 就等于唯一+不为空,而且一个表里只能有一个primary key,但是我在数据库创建表的时候PRIMARY KEY (username,bm_URL),这样不就2个主键了?而且我insert数据的时候 username 有重复'admin',并没有报错啊,怎么解释第一句话呢
username
bm_URL
小伙看你根骨奇佳,潜力无限,来学PHP伐。
你那样写就是联合主键。就可以username重复,但是相同username下,bm_URL不同就可以
primary key的含义是一条记录的唯一标识,类似于身份证的ID。主键可以是一个字段或者多个字段联合组成,如果是一个字段,则不同记录或称不同行的主键不允许重复;如果是多个字段联合组成,则是这些字段的组合不允许相同。所以你的情况只要不是username,bm_URL不同时相同就不会冲突。
一个表里只能有一个主键,主键是自增且不为空的 表里可以有多个唯一,建议你用可视化的phpadmin或者Navicat
多个主键的叫联合主键,也可以称之为联合做主码,你可以想象成商品订单表,记录中用户id是可以重复的,而用户id和订单号一起一定是唯一的。
数据库里的索引(index或者key)并不是针对一列的,因此一个key可以由多列构成(如你这儿设置的username和bm_URL)。因此主键的唯一性指的是它所包含的所有列共同合起来不能重复,你单独username重复是没关系的~
你那样写就是联合主键。就可以username重复,但是相同username下,bm_URL不同就可以
primary key的含义是一条记录的唯一标识,类似于身份证的ID。
主键可以是一个字段或者多个字段联合组成,如果是一个字段,则不同记录或称不同行的主键不允许重复;如果是多个字段联合组成,则是这些字段的组合不允许相同。
所以你的情况只要不是username,bm_URL不同时相同就不会冲突。
一个表里只能有一个主键,主键是自增且不为空的 表里可以有多个唯一,建议你用可视化的phpadmin或者Navicat
多个主键的叫联合主键,也可以称之为联合做主码,你可以想象成商品订单表,记录中用户id是可以重复的,而用户id和订单号一起一定是唯一的。
数据库里的索引(index或者key)并不是针对一列的,因此一个key可以由多列构成(如你这儿设置的username和bm_URL)。因此主键的唯一性指的是它所包含的所有列共同合起来不能重复,你单独username重复是没关系的~