2015-08-16 33 views
0

enter image description here如何列出查询中最近更新的父级上级?

我有图片相关的父/子表。对于父表中的每一行,在子表中可以有100或200个子行。当我升级子表时;我也把它的父行的tID号给线程ID列下的子行。所以,每个子行不会有多于一行的父行。

如果我在父表中有一列像“LastChildTimestamp”,我可以用最后一个子时间戳升级相关行吗?如果是的话,你能向我展示一个例子吗?

我想要实现的目标是在列出父母时尽可能保留最新更新的父母,并且我想简化它。所以,如果你有更好的解决方案或方法,我也会接受。

回答

1

有两种不同的方法可以用来解决这个问题。

  1. 创建parent.LastChildTimestamp字段,然后使用数据库触发器更新它。

参见:http://www.techonthenet.com/mysql/triggers/after_update.php

特别是,你会插入后和UPDATE触发器在子表中,将更新关联父行成立。

  1. 或者,您可以在需要阅读时简单地汇总子行中的数据。你会查询看起来是这样的:

SELECT MAX(TIMESTAMP) 从子 WHERE child.threadID =(线程ID)

+0

我最终加入,一旦添加了新的子行已被更新的另一列新的孩子的自动增量值。这样我可以通过这个专栏DESC命令父母的名单。 – idexo

+0

听起来不错!谢谢(你的)信息。 –