让我解释一下我的数据结构。
此特定表将用于组织网站的类别/子类别树。
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9xVXI4TS5wbmcifQ==” alt =“单击此处获取表格图像”>如您所见,将为主要类别(没有任何父类别的类别)分配ID为1到99。
同时,将为子类别分配一个以父级ID开头的ID。例如,属于类别1的所有子类别的ID都将在101到199之间。属于类别2的所有子类别的ID将在201到299之间,依此类推。
这里是问题:我可以告诉MYSQL在ID 101和199之间的下一个可用“插槽”上“插入value1,value2,value3”吗?
同样,如果存在插入ID为102,102,103,104的行(如上图所示)。如果我说“在101和199之间插入”,MYSQL将自动插入ID为105的下一行。
如果无法使用MYSQL或MYSQL过程,可以使用PHP中的函数来完成吗? (检索所有值,做一些数学运算,然后插入数据)。
如果不遵循此特定规则,则不会破坏网站(因为表结构也使用parent_id),但存在的唯一目的是使数据库易于阅读,并使人们阅读或整理数据的混乱程度降低。] >
谢谢你。
让我解释一下我的数据结构。该特定表将用于组织网站的类别/子类别树。如您所见,主要类别(没有任何父项的类别)...
首先,我不建议您这样做。代理主键本身不应具有特定的功能含义;它只是用来唯一地标识记录,并有可能用作外键的参考。我还要指出,您的系统不能很好地扩展,因为它不能支持超过9个根类别(或给定类别不超过99个子类别,依此类推)。