MYSQL插入ID介于设置范围(或下一个可用ID)之间的值

问题描述 投票:0回答:1

让我解释一下我的数据结构。

此特定表将用于组织网站的类别/子类别树。

<< 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),但存在的唯一目的是使数据库易于阅读,并使人们阅读或整理数据的混乱程度降低。] >

谢谢你。

让我解释一下我的数据结构。该特定表将用于组织网站的类别/子类别树。如您所见,主要类别(没有任何父项的类别)...

php mysql insert between
1个回答
0
投票

首先,我不建议您这样做。代理主键本身不应具有特定的功能含义;它只是用来唯一地标识记录,并有可能用作外键的参考。我还要指出,您的系统不能很好地扩展,因为它不能支持超过9个根类别(或给定类别不超过99个子类别,依此类推)。

© www.soinside.com 2019 - 2024. All rights reserved.