【发布时间】:2012-01-24 09:10:55
【问题描述】:
我有一个特殊的情况。在我的 MySQL 数据库中,我有大约 90 个奇怪的表,并且大多数表都已编入索引(我们使用的是 INNODB)。有些表格有这样的链接:
A -> B -> C->D->E
当我只有表 A 和 E 可以使用时,有没有办法在其中找到所有子表的列表?我已经做了一个动态查询构建器机制,为此我列出了带有表列表的用户,并且在像上面这样的给定情况下,只需要从表“A”和“E”中获取所需的信息,而无需搜索用户选择的表“B”、“C”和“D”。
表以正常方式链接。每个表都通过适当的外键约束链接到另一个表。
例如。 表 A(事务) Id、Trxn-Date、金额
表 B(事务表头) Id, Agent_Id (FK to Agent_Profile), Upd_Time, Trnx_Hdr_ID (FK to Table A)
表 C (Agent_Profile) Id、Prof_ID(FK 到 Profile)
表 D(配置文件) ID,Pers_Info_Id(FK 到 Personal_Info)
表 E(个人信息) 身份证、名字、姓氏
用户选择Trxn_Date、FirstName、LastName。
如何检索子链接表信息,当所选表(在这种情况下)恰好仅为事务和 personal_info 。
【问题讨论】:
-
这些表是通过外键粘在一起的吗?