按照数据库的增删查改操作,多对多关系的查找都可以用inner join或者
select * from 主表 where id in (select 主表id from 关系表)
①.,角色任命型
特点:关系表两外键组合无重复纪录,关系表一般不需要时间字段和主键,有一个表是字典类型的表.
界面特点:显示主表,用checkbox或多选select设置多选关系.
增加关系:如果没有组合纪录,insert之.
删除关系:如果有组合纪录,删除之.
特点:同角色任命型类似,关系表两外键组合无重复纪录,关系表一般不需要时间字段和主键.区别是主副表都不是字典表,可能都很大不固定.
界面特点:显示主表,用搜索代替简单的checkbox或多选select,或者一条一条的添加.
例如:歌曲专集(专集表-关系表-歌曲表).手机分组(分组表-关系表-手机表).用户圈子(圈子表-关系表-用户表).文章标签(文章表-关系表-标签表)
增加关系:同版主任命型.
删除关系:同版主任命型.
特点:关系表可以有重复纪录,关系表一般有时间字段,有主键,可能还有文字型的字段用来说明每次发生关系的原因(消费).
界面特点:显示关系表,用radio或下拉设置单选关系.
例如:现金消费明细帐或订单(用户表-订单表-消费原因表),用户可能多次在同一事情上重复消费.积分变化纪录也属于这类.
增加关系:不管有没有组合纪录,insert之,纪录时间.
删除关系:根据关系表PK删除.
特点:同明细帐型关系表一般有时间字段,有主键,区别是重点在文字型的字段用来说明每次发生关系的内容(评论回复).
界面特点:回复文本框.
例如:论坛回复(用户表-回复表-帖子表),用户可能多次在不同帖子上评论回复费.
增加关系:不管有没有组合纪录,insert之,纪录时间和文字.
删除关系:根据关系表(回复表)PK删除.
特点:主副表是同一个,关系表一般有时间字段,有主键,重点在关系表文字型的字段用来说明每次发生关系的内容(消息)或者其他标记位来表示文字已读状态时间等.
例如:站内短信(用户表-短信表-用户表),用户可能给用户群发或者单发,有标记位来表示文字已读状态时间等.
特点:主副表是同一个,同集合分组型,关系表两外键组合无重复纪录,关系表一般不需要时间字段和主键.
界面特点:同集合分组型,显示主表,用搜索代替简单的checkbox或多选select,或者一条一条的添加.
删除关系:同版主任命型
insert into 表b (+nid+,+products+) values ('1','手机');
update 表b set +products+ = '电话' where +nid+ = '1' and +products+ = 手机';
delete * from 表b where +nid+ = '1' and +products+ = 手机';
如果你要查询的话用下面这句:
select b.products, a.name from 表b as b, 表a as a where 表b.uid = 表a.id
拿用户角色来说
用户? ←多对多→ 角色
概念模型如下:
箭头指向多的一方
以上就是土嘎嘎小编为大家整理的mysql怎么表示一对多相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!