验证并创建唯一ID

时间:2013-02-28 15:45:11

标签: mysql unique-index

好的 - 对于我的项目,我被要求为我们必须转换某些数据的过程确定一些验证技术。我来给你一个背景资料。

我们从客户端接收数据 - 我们加载文件,只提取处理所需的字段。在此阶段进行一些检查。从这里开始,我们在数据上运行脚本,这些脚本基本上完成了所有繁重工(删除重复项,检查日期等)。然后它通过黑盒系统运行并向我们吐出结果。

我们已收到客户的通知,我们对特定群体的数量极为不理想。这个大约400万美元。

我们有一个识别唯一成员的流程,通过生成pol_ID,Suf_ID及其关联的组名,它们在我们的系统和处理系统中被认为是唯一的。

我们需要一个流程来处理这些独特成员的记录。 在给定时间段内,唯一成员可以拥有与其姓名相关联的一对多声明。

当我们收到索赔信息时,通常使用payor_field + claimno +生成的序列号来处理(有时这个序列号是claimno的最后两位数字)......

实施例。三个声明进入系统,经过负载处理后,我们看到了    客户端重复声明没有 - 因为我们使用最后两位数字,它不再使它们成为唯一并丢弃三条记录中的两条。只保留第一个。

WKS-01100 75.02 - stays
WKS-01100 6000.56 - drops
WKS-01100 560.23 - drops

我的问题发挥作用,因为我们通常对声明做出假设,如果我们解析最后两位数字,它是唯一的,在测试这种情况下,我们尝试在另一列中创建一个显式的增量序列号来考虑这个独特。然后,我们的结果加倍。

现在我的问题如下:

还有另一种方法可以使这些声明独一无二吗?自动增量不是一种选择。考虑客户端可以发送重复的claimnos,这是我们的问题所在,他们可以回收他们的声明。

由于它是以月为基础的,也许最后会有某种月份ID ...?

序列号的任何二进制表示是否有效?它是INT数据类型.. (另外应该注意我们处理的历史数据可以追溯到24个月,每个月我们会得到连续几个月的数据,我们会在第一个月内放弃这个数据)

我们不仅限于改变此声明所做的事情,所以我愿意接受建议......尽量保持简短但请告诉我是否需要添加更多信息:)谢谢。

1 个答案:

答案 0 :(得分:0)

您是否为每个声明保存了时间戳?一种可能的解决方案是附加时间戳以使声明唯一。

WKS-01100-1330464175

WKS-01100-1327514036

WKS-01100-1341867984