我已经围绕 sqlite 数据库构建了一个 iOS 应用程序。其中一个表分配了一个向下钻取表值,它们在表中显示的顺序,然后是随后的菜单。我想是一棵基本的树。
我构建它的方式,我能想到的唯一方式(这是我第一次接触 sqlite).. 这只是一个真正的痛苦,因为它几乎不可能修改。
如果我必须重组菜单并添加或删除其中一个菜单,那么修改后的所有内容都必须调整其父级以进行补偿。
有人用我没想到的东西打我的头,因为我确信这很明显。
结构表示:
id menu icon level parent
===========================================================
1 colors color.jpg 1 NULL
-----------------------------------------------------------
2 shapes shapes.jpg 1 NULL
-----------------------------------------------------------
3 red red.jpg 2 1
-----------------------------------------------------------
4 green green.jpg 2 1
-----------------------------------------------------------
5 square square.jpg 2 2
-----------------------------------------------------------
6 roses roses.jpg 3 3
-----------------------------------------------------------
7 grass grass.jpg 3 4
因此,如果我决定在 1 级添加一个新菜单,我必须要么忍受一个非常混乱的数据库,要么在插入后修改每个条目的所有父值和 id。