首先让我解决一些问题:我对 SQL 的了解非常非常有限(遗憾的是,仅了解基本的 CRUD 操作——和我谈谈 JOIN 和其他东西,你可能会说世界语)。这是我知道我需要并且实际上正在努力的事情,但这也是需要时间的事情,我目前不需要解决这个特定问题。
我有几张桌子,像这样:
TBL_Cities TBL_Provinces TBL_Regions TBL_Countries
---------- ------------- ----------- -------------
CityID ProvinceID RegionID CountryID
ProvinceID RegionID CountryID CountryCode
CityCode ProvinceCode RegionCode CountryName
CityName ProvinceName RegionName
正如您可能推测的那样,是的,这些表是通过外键 from Cities
to Provinces
、 from Provinces
toRegions
和 from Regions
to相关联的Countries
(请注意,数据库设计不是我的创作,所以我只是转发我所拥有的。)在这种结构中,有一些省附有几个城市,也有一些省没有附有城市。
由于这种设计,一个人的地址是通过从最底部的位置实体(在这个特定示例中是城市)链接起来完成的。到目前为止是有道理的,对吧?
问题:我需要以某种方式找出所有无Province
子实体的 ID,并在Cities
表中为每个无子实体生成一个“默认”条目Provinces
,以便我们当前的地址构建引擎无需修改当前数据库列即可工作结构(也就是说,从 构建一个“完整”位置City
并一直到Country
)。这……不仅仅是一点点超出了我的能力,所以我在这里请求帮助。
我知道这可能问得太多了,但是有人可以告诉我如何解决这个问题,或者至少指出我正确的方向吗?