這是一個完全沒有意義的問題......但一個,我想知道的答案:爲什麼所有RecIds都以5637144576開頭?
爲什麼在Ax2012所有RecIds(以及所有自V2.5我覺得?)開始5637144576?爲什麼不從RecId 1開始,就像在TempDB表中一樣?這必須是舊版本中的一些遺留問題。
我記得有些客戶在舊版本中用完RecId的情況,據推測這是通過使RecIds在每個表中唯一併將其更改爲64位數據類型來解決的。但是,這種變化仍然從特定的數字開始。
只是好奇...
這是一個完全沒有意義的問題......但一個,我想知道的答案:爲什麼所有RecIds都以5637144576開頭?
爲什麼在Ax2012所有RecIds(以及所有自V2.5我覺得?)開始5637144576?爲什麼不從RecId 1開始,就像在TempDB表中一樣?這必須是舊版本中的一些遺留問題。
我記得有些客戶在舊版本中用完RecId的情況,據推測這是通過使RecIds在每個表中唯一併將其更改爲64位數據類型來解決的。但是,這種變化仍然從特定的數字開始。
只是好奇...
又來了一個純粹投機的答案...
5637144576恰好是0x150000000不能存儲在一個32位整數。當RecId
從32位增長到64位(in AX 4.0)時,這對測試目的很重要。
此外,任何新的RecId
保證不會與來自AX 3.0的舊RecId
相沖突。這對於升級過程非常重要。爲什麼不選擇0x100000000或4294967296?
因爲在十進制這很難區分4294967196和其他小數字。
爲什麼不選擇5000000000小數?
因爲我們programmers best calculate in hex!
參見Are RecIds unique across Common tables in Dynamics AX 2012?
感謝您的帖子...投機也許,但對我來說夠好! – 2014-08-28 14:25:46
此值(5637144576)是硬codded在AX數據庫存儲的過程(sp_GetNextRecId)。
當看作十六進制數字時更爲明智。 – 2014-08-28 12:18:35
有趣...我沒有注意到,但我確實有5637144576實際記憶,我不知道爲什麼。 – 2014-08-28 15:24:52
對我來說相當相同...我的一位同事提到了它,我只是不能讓它去:) – 2014-08-29 05:38:50