gpt4 book ai didi

sql - 这些行 ID 是如何生成的

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:28:37 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何在应用程序级别生成主键(ISV,我没有代码库),这样我就可以在后端进行一致的插入,而不必担心重复键。

按 ID 排序只是为了了解进度:

编辑

创建日期,对应ID

开始:

date         sysid              c_time
02/10/2009 A00029BC75ECF751 1835010
02/10/2009 A00059BC76712863 1835013
02/10/2009 A00069BC7BF6F327 1835014
08/14/2013 A0006A235AF21680 5841653
02/10/2009 A00099BC76D57865 1835017
07/06/2009 A000A9C590BDF134 4000288
02/10/2009 A000B9BC73594306 1835019
08/19/2009 A000D9C857013579 4795995
02/10/2009 A000E9BC7222D209 1835022
04/08/2009 A000E9C0007D0727 4810168

...

结束

date         sysid              c_time
10/06/2010 AFFFA9E2205D9752 5919265
01/29/2013 AFFFCA1706413272 3420395
02/10/2009 AFFFD9BC75264250 1835005
07/13/2009 AFFFD9C60B25C732 4402146
11/09/2012 AFFFDA11FBC8C706 5908518
07/17/2009 AFFFE9C64E1EB645 540642
09/30/2010 AFFFE9E1C7021704 3264751
02/10/2009 AFFFF9BC755DE457 1835008

我在想这是关于以 A 作为前缀的日期时间的某种算法吗?

有人有什么想法吗?

最佳答案

I'm trying to figure out how a primary key is being generated ... so I can do consistent inserts on the back end without worrying dup keys.

好吧,没有算法或源代码这是不可能的,但时间戳似乎是合理的,因为顺序 ID 之间的数字差异与顶部和底部集合之间的数量级相同。

因为它们看起来像 64 位十六进制数字,您可以只需将“最高”数字加 1。但是,不能保证第 3 方应用程序也会检查重复项 - 它可能会插入一个与您输入的值冲突的值。

假设它们的插入是连续的(并且您的插入不需要是连续的)您可以从 FFFFFFFFFFFFFFFF 开始并向后工作。

您仍然需要考虑变量 - 前 3/4 位 (1010 = A) 是标志吗?在第二位插入一个 1 的值会有什么坏处吗?这些问题都不能仅通过查看生成的 ID 来回答。

不过,您尝试的任何事情都应该通过 ISV 进行验证。

关于sql - 这些行 ID 是如何生成的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21002278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com