我正在寻求一些关于如何处理我们从另一个部门导入病例数据的表格的一些建议:
Id CreationDate ClosedDate LastUpdateDate Name Description
DE5838 2015-06-02 06:14:11.11 NULL 2015-06-02 06:19:33.33 Look UP : Should be updated ... Description : This is not a defect…
DE5834 2015-06-01 16:16:03.03 NULL 2015-06-01 16:24:19.19 Sync error for Ultimate packages... We are getting an error ....
DE5822 2015-06-01 10:37:10.10 NULL 2015-06-01 10:37:10.10 Terminal subscription has expired... For given terminal serial number…
DE5818 2015-06-01 09:53:44.44 NULL 2015-06-01 09:53:44.44 No Option Code… Allie pulled the report.... 相当长一段时间以来,我们一直将ID字段作为PK处理(而且没有从外部部门定义太多数据)--直到现在,我们才开始看到其他部门正在回收这些ID号(我知道,我知道--确实是个糟糕的主意)。
因此,留给我们的是我们试图导入的数据--但是我们的表不会接受它,因为唯一的标识符已经分配给了case数据。
我所想的可能是一个很好的解决方案,就是将PK更改为ID和CreationDate的组合(我们认为这可能是外部部门创建数据的方式),或者我可以添加一个自动递增的ID字段,并将它指定为我们已经拥有的所有数据的唯一标识符。
但是,由于这是一个继承的烂摊子,我最近走进,我正在寻求任何建议,如何进行这一工作。
发布于 2015-06-04 21:32:51
创建复合键不仅会使您更改索引,而且所有引用主键的表也必须添加附加列。我建议在表中添加一个标识字段。将当前ID字段重命名为类似于ReferenceNumber的内容。然后更新其他表中的所有外部引用以使用新的ID。然后可以将外键字段转换为整数字段。这最终将节省数据库中的空间,并可能导致将来更快的连接。
然后,您还必须确保更新了任何接口,以便通过ReferenceNumber / dateor新ID进行查找。
https://stackoverflow.com/questions/30650038
复制相似问题