我正在做一个简单的快递跟踪项目,其中有两个名为TrackingStatus
和ParcelTracking
的表。
ParcelTracking
表具有Tracking_ID
作为主键,TrackingStatus_ID
作为外键,它是TrackingStatus
表的主键。
每次信使状态发生变化时,我都想添加新的TrackingStatus_ID
,以便我可以检索该特定Tracking_ID
的所有先前状态。
我怎样才能做到这一点?
答案 0 :(得分:0)
根据我的理解,这不是“更新”的问题,而是更多的架构和模型布局问题。你的列看起来有些混乱。
通过你在问题中所说的,你似乎正在这样做:
| TrakingStatus | | ParcelTracking |
|---------------| |------------------|
| Id | | TrackingId |
| ... |--------| TrackingStatusId |
| | | ... |
所以看起来如果快递员发生了变化,那么你想要添加一个新的TrackingStatusId
,我猜你要在TrackingStatus
表中创建一条新记录然后引用ParcelTracking
表中的内容。您应该在此处使用OneToMany
关系与另一个表格,该表格允许您在TrackingStatus
中为ParcelTracking
中的单个地块引用行,您将拥有类似的内容:
| TrakingStatus | | ParcelStatuses | | ParcelTracking |
|---------------| |-----------------| |------------------|
| Id | -------- | TrackingId | *-----------1| TrackingId |
| ... | | TrackingStatusId| | ... |
这样,当信使更改时您不需要覆盖现有的TrackingStatusId
值,您只需创建另一条记录并将其与同一ParcelTracking
对象链接即可。