外键的添加:
两张表格,其中表1的id对应的是表2的userid,两个是通过外键进行互相关联。操作步骤如下:
点击设计表
表2可以说是表1的字表,其中userid的被参考表就是表1中的id。此处说明下,后面的“删除时”和“更新时”的选项,如下:
. cascade方式
在父表上update/delete记录时,同步update/delete掉子表的匹配记录
. set null方式
在父表上update/delete记录时,将子表上匹配记录的列设为null
要注意子表的外键列不能为not null
. No action方式
如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作
. Restrict方式
同no action, 都是立即检查外键约束
. Set default方式
父表有变更时,子表将外键列设置成一个默认的值 但Innodb不能识别
常见关键字:
PK:primary key 主键
NN:not null 非空
UQ:unique 唯一索引
BIN:binary 二进制数据(比text更大)
UN:unsigned 无符号(非负数)
ZF:zero fill 填充0 例如字段内容是1 int(4), 则内容显示为0001
AI:auto increment 自增
数据库中的多对多的关系:
当需要对某个用户的某个角色拥有什么物品时,需要使用多对多关系。一个用户往往拥有多个角色,任何一个角色往往拥有多个属性,这样存在一个多个数据对应多个数据的关系,为了扩展性,添加一个关系表格来管理。
表格3 道具表
表4 储存对应关系表格
其中 goodsid对应idgoods
roleid对应role表格的idrole,保证角色对应的唯一性
goodsid对应表格goods中的idgoods,保证物品数据的对应