【发布时间】:2020-10-05 09:04:04
【问题描述】:
让我解释一下我的数据结构。
此特定表将用于组织网站的类别/子类别树。
如您所见,主要类别(没有任何父类别的类别)将被分配 1 到 99 的 ID。
同时,将为子类别分配一个以父 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),但存在的唯一目的是使数据库具有可读性,并使人们阅读或组织数据时不那么混乱。
提前谢谢你。
【问题讨论】:
-
在 100 和 199 之间获取最大的 id,并为每列输入一个。
标签: php mysql sql select sql-insert