我在处理两个不同的企业应用程序时感到困惑。
从第一个应用程序A1和第二个应用程序A2,我们曾经向我们的打印供应商发送一些文档,为我们打印这些文件。
但是每个文档的文档ID(发送给打印供应商)是数据库的primaryKey ID。
例如:应用程序A1:
表名 = FILE_RECORDS
102 file1.txt
103 file2.txt
104 file3.txt
申请A2 :
表名 = FILE_RECORDS
104 file5.txt
105 file6.txt
106 file7.txt
现在,如果来自第一个数据库的file3.txt和来自第二个数据库的file5.txt将进入同一个打印供应商的FTP保管箱,那么它就会造成混乱。因为两者都有相同的文件ID = 104。
打印供应商需要每个文档的唯一ID。
我们如何克服这个问题?
答案 0 :(得分:2)
使用唯一的应用程序ID预先添加唯一键。
A1_102 file1.txt
A1_103 file2.txt
A1_104 file3.txt
和
A2_104 file5.txt
A2_105 file6.txt
A2_106 file7.txt
每个应用程序都会生成一个独特的文档ID流。 DB只会生成数字部分,但您可以在SQL语句中添加应用程序ID:
SELECT Concat('A1_',file_num), filename FROM files;
你可以通过让一个应用程序以非常高的数量开始,例如2,000,000,000来以数字方式执行相同的操作。第三种选择是让一个应用程序产生偶数(乘以2)和其他奇数(乘以2并加1)。