PHP QUERY Loop?


PHP QUERY Loop?

基本上,我有一个家谱表,每个人都有自己的child_id和parent_id(这两个都是我表中的字段(。我的目标是在我的投票字段中为谱系中的每个父母添加+1。

因此,我需要从一行中选择parent_id并更新投票。然后我需要从该行中选择父项,并更新该父项的投票。然后我需要从那一行中选择父项并做同样的事情。。一次又一次,直到我找到了第一个祖先,没有更多的父母或孩子需要更新。以下是我的选择和更新查询:

SELECT parent_id FROM profiles where child_id = $first_ancestor
UPDATE profiles SET votes = votes + 1 where child_id = parent_id

我用循环吗?或者我该怎么做?谢谢

我会使用循环。据我所知,这是关系数据库的一个限制。不过,一些DBMS比其他DBMS更好地支持递归查询。

如果你愿意的话,你可能想看看一种叫做图数据库的东西。其中一些数据库比大多数关系数据库对这类操作的支持要好得多。

结账:

  • CloudGraph有一种有趣的"图形查询语言">
  • Neo4j使用了他们称之为"traversals"的东西,看起来很整洁
  • 信息网格
  • GraphBase