Home
Sign Up
Sign In
V2EX
›
问与答
数据结构 一对多 改成 多对多,该怎么处理额_
sun019
·
May 28, 2013
· 4247 views
This topic created in 4911 days ago, the information mentioned may be changed or developed.
程序是php+mysql
头头领导说 一个产品可能属于多个分类哦
OK我这苦X程序员 只有听领导的了
一个产品可以属于多个分类
以前就建了个cat表和goods表,用cat_id 来关联
现在我完全迷茫了,结构完全变了啊
cat
分类
多个
8 replies
•
1970-01-01 08:00:00 +08:00
fangzhzh
May 28, 2013
1
如果主要操作是顺序访问, 商品中带个cate链表就ok了
sun019
OP
May 28, 2013
2
@
fangzhzh
涉及到增删改 查
初步想的 goods 表的 cat_id字段 改成varchar 用|隔开cat_id
davepkxxx
May 28, 2013
3
那就只有建立一个中间表,存放产品和分类的关系。
表里一般至少两个字段,产品主键和分类主键。
davepkxxx
May 28, 2013
4
另一个办法就是在产品表和分类表里都各自增加一个字段,用来存放对方的主键集合。
fangzhzh
May 28, 2013
5
@
sun019
你的方法
@
davepkxxx
你的第二种方法怎么删除呢, 要解析字段,然后从varchar删除你想要删的字段, 这估计会很麻烦
中间表那个靠谱
davepkxxx
May 28, 2013
6
@
fangzhzh
我的第二种办法和 @
sun019
的办法差不多,会稍微麻烦一点,对查询很友好,尤其是在你缓存了所有的分类之后。
davepkxxx
May 28, 2013
7
我的建议是一旦你觉得关联查询过于复杂,就可以把第一条和第二条一起执行。
fangzhzh
May 28, 2013
8
@
davepkxxx
目测增查的操作最多, 删除应该不是太大问题.
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Privacy
·
Solana
·
1630 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms ·
UTC 10:43
·
PVG 18:43
·
LAX 02:43
·
JFK 05:43
♥ Do have faith in what you're doing.
❯