我們希望從mySQL中獲得一個自動遞增ID,而不實際存儲它,直到其他非mysql相關進程成功完成爲止,以便在發生異常或應用程序崩潰時不存儲條目。我們需要使用ID作爲其他進程的關鍵。實質上,我們希望「保留」自動增量並將行插入到mySQL中作爲最後一步。在我們知道整個過程已成功完成之前,我們不想插入任何行。保留mySQL自動遞增的ID?
是否可以在mySQL中進行這種自動增量保留?
注意:我知道SQL事務。但是我們的流程包含了需要在數據庫之外發生的非SQL內容。這些過程可能需要幾分鐘到幾個小時。但我們不希望任何其他進程使用相同的自動增量ID。這就是爲什麼我們想要一個「保留」一個自動遞增的ID,而沒有真正將任何數據插入數據庫。 -
請問您能提供更多細節嗎?大致有以下幾點:(1)一個過程開始。 (2)對DB感興趣。 (3)還有其他的事情......等等。 – Greeso
你可能不會使用自動增量。如果您將當前的id計數器存儲在其他地方的小表中,那麼當您的外部進程開始時,它可以獲取當前的id並將其增加。在發生崩潰時,ID可能會被跳過,但不會重複。 –
@AldenW。請參閱Bill Karwin的迴應。你認爲這是一個好方法嗎? –