首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >让SQL表条目引用同一个表中的其他ids是个好主意吗?

让SQL表条目引用同一个表中的其他ids是个好主意吗?
EN

Stack Overflow用户
提问于 2019-09-14 04:24:11
回答 1查看 55关注 0票数 0

我正在为一个类似电子商务的网站设计一个产品类别的表格。该表目前看起来有点像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
| id |     name    | level |    value    | parent_id |
+----+-------------+-------+-------------+-----------+
| 1  | Food        |   0   | food        |    NULL   |
| 2  | Phone       |   0   | phone       |    NULL   |
| 3  | Thing       |   0   | thing       |    NULL   |
| 4  | Pasta       |   1   | pasta       |     1     |
| 5  | Apple       |   1   | apple       |     2     |
| 6  | SubThing    |   1   | subthing    |     3     |
| 7  | Tagliatelle |   2   | tagliatelle |     4     |
| 8  | iPhone 11   |   2   | iphone_11   |     5     |
| 9  | SubSubThing |   2   | subsubthing |     6     |

基本上,我不想在每次人们想要向类别结构添加新的子级时创建一个完整的新表并映射关系,并依靠levelparent_id列让我的代码知道如何处理这个类别以及它的父类别是什么。我对模型设计完全陌生,这是我能想到的最好的方法。这种自引用结构有没有什么不好的地方,我只是太新手没有意识到?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-14 07:22:06

如果您确定子级别(子级)将仅由该单行或父级引用,则设计应该足够了。如果需要将多个子元素汇总到该父实体中,则可能会遇到问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57932430

复制
相关文章
相同的时间,不同的人生
在规定的时间内,一个人目标的达成情况(创造的价值),我们称之为效率。如此可见效率与时间是密切相关的,提高效率首先要做的就是提高我们的时间利用率。
keinYe
2020/05/25
1.2K0
iOS中相同IP,不同端口,session失效的问题
公司在https服务器(端口443)进行正常登陆业务等处理 https://ip1:443/ 然后在端口444服务器进行资料文件上传等处理 https://ip1:444/ 因为服务器在https://ip1:443/登陆成功之后对cookie中的session进行校验保存,而一旦出现访问443->444->443,就是进行文件上传操作后,再调用443端口后,服务器对session校验失败,出现会话超时问题
freesan44
2018/09/05
2K0
python匹配两个文件中相同的内容
data_small.txt中内容如下: 343 0 5258 1 3973 2 data_big.txt中内容如下: 343 2009-05-30T17:01:58Z 39.04183745 -94.5914053833 9191 343 2009-05-28T23:40:31Z 39.0523183095 -94.6074986458 8904 23 2009-05-28T23:40:31Z 39.0523183095 -94.6074986458 8904 56 2009-05-27T18:59:50Z 39.0424168 -94.59061145 9188 5258 2009-05-15T00:09:42Z 38.9920234667 -94.5920920333 10927 5258 2009-05-27T18:59:50Z 39.0424168 -94.59061145 9188 545 2009-05-15T00:09:42Z 38.9920234667 -94.5920920333 10927 3973 2009-05-14T20:47:20Z 39.0142536 -94.5928215833 12305 3973 2009-05-14T20:43:05Z 39.0146281324 -94.5907831192 9627
全栈程序员站长
2022/11/07
2.3K0
找出两个文件中相同的单词(java实现)
第二种比较单词的方法:将string【】数组转换成集合,通过集合的retainAll()方法 两个集合取交集
崔笑颜
2020/08/24
1.7K0
consul注册相同服务,相同程序,相同IP,不同端口来负载的问题
由于今天发现运维代码未正常发布。想要自己手动发布。发现原有服务名mos-x3-gls-service只有1个node启动,为了保障发布时原有服务不中断我需要再注册1个node,于是我简单修改了原有springboot端口9112为9113,启动后发现9113的节点正常注册,但是原来9112端口的节点服务没有了,搞了个寂寞。原因是如果在Spring Cloud Consul中使用相同的节点id进行注册,那么Consul将会将它们视为同一个节点,并将它们注册为同一个节点。老了,大意了。于是我把注册consul的节点id设置为服务名称+进程id即可解决。
高久峰
2023/06/17
5090
React中router-dom相同路径不同参数时页面不重载问题
现在的问题是,Lesson页面加载后,单击“上一课”、“下一课”,浏览器地址栏改变,页面不重载,显示仍然是初次载入后的数据。
fanzhh
2019/08/20
1.6K0
微信小程序中的不同场景,不同的判断,请求的时机
本来5月1之前就想写一下一篇关于小程序不同场景下发送ajax请求的问题,但是放假的前一天,出了个大bug,就是因为我修改不同的场景下执行不同的逻辑造成的
windseek
2019/05/14
6690
微信小程序中的不同场景,不同的判断,请求的时机
Simulator 和 Emulator 的相同和不同;
在看模拟器的时候,出现了关于Simulator和Emulator两种词汇;都可以翻译为模拟器;但在调研游戏模拟器的时候,多为Emulator; 两者词汇的含义和应用场景有什么异同呢?
西湖醋鱼
2021/02/23
1.9K0
PHP分割两个数组的相同元素和不同元素的两种方法
一、举例说明 例如有两个数组A和B(当然这个A和B也可以是key=>value形式) A = array('tt','cc','dd','mm') B = array('ad','tt','cc','qq') 希望得到的结果是: sameArr = array('tt','cc') A = array('dd','mm') B = array('ad','qq') 二、解决方案 2.1、方法一:for循环取出数据 1、for循环一个A数组; 2、使用array_search判断元素是否存在B数组中; 3
蛋未明
2018/06/07
2.2K0
如何从两个List中筛选出相同的值
问题 现有社保卡和身份证若干,想要匹配筛选出一一对应的社保卡和身份证。 转换为List<社保卡> socialList,和List idList,从二者中找出匹配的社保卡。 模型 创建社保卡类 /** * @author Ryan Miao */ class SocialSecurity{ private Integer id;//社保号码 private Integer idCard;//身份证号码 private String somethingElse; p
Ryan-Miao
2018/03/14
6.1K0
如何从两个List中筛选出相同的值
【说站】mysql中查询的请求过程
以上就是mysql中查询的请求过程,希望对大家有所帮助。更多mysql学习指路:MySQL
很酷的站长
2022/11/24
1.1K0
【说站】mysql中查询的请求过程
【整理】SpringBoot默认的各种路径(如静态资源路径,配置文件路径等)
传统的Java Web项目,一般是新建一个WebContent目录,然后所有页面,js等静态资源都放在里面。但是在SpringBoot的规范里,不需要这么做
RRT冻羊
2022/11/03
5.5K0
fastapi 用户指南(路径参数、查询参数、请求体)
learn from https://fastapi.tiangolo.com/zh/tutorial/
Michael阿明
2022/01/07
1.8K0
fastapi 用户指南(路径参数、查询参数、请求体)
php 比较获取两个数组相同和不同元素的例子(交集和差集)
array_intersect()该函数比较两个(或更多个)数组的键值,并返回交集数组,该数组包括了所有在被比较的数组(array1)中,
用户8824291
2021/07/13
3.2K0
python 查找两个字典中相同值
a = { 'x' : 1, 'y' : 2, 'z' : 3 } b = { 'w' : 10, 'x' : 11, 'y' : 2 } Find keys in common a.keys() & b.keys() # { 'x', 'y' } Find keys in a that are not in b a.keys() - b.keys() # { 'z' } Find (key,value) pairs in common a.items() & b.items() # { (
用户5760343
2019/09/25
3K0
JS取两个数组相同的元素
function arrayIntersection ( a, b ) { var ai=0, bi=0; var result = new Array(); while ( ai < a.length && bi < b.length ) { if ( a[ai] < b[bi] ) { ai++; } else if ( a[ai] > b[bi] ) { bi++; } else /* they're equal
用户7705674
2021/09/24
6.2K0
如何在 Helm Chart 中兼容不同的 Kubernetes 版本?
随着 Kubernetes 的版本不断迭代发布,很多 Helm Chart 包压根跟不上更新的进度,导致在使用较新版本的 Kubernetes 的时候很多 Helm Chart 包不兼容,所以我们在开发 Helm Chart 包的时候有必要考虑到对不同版本的 Kubernetes 进行兼容。
我是阳明
2021/11/17
1.4K0
点击加载更多

相似问题

Perl中的今天日期,格式为MM/DD/YYYY

70

如何使用Perl逐月对dd/mm/yyyy格式的日期进行排序?

40

日期格式dd/mm/yyyy到yyyy/mm/dd

30

Perl或Python:将日期从dd/mm/yyyy转换为yyyy-mm-dd

83

转换日期在YYYY-MM-DD在Perl?

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文