Poiché non puoi adattare un GUID a un numero a 32 bit, la tua unica risorsa è una tabella di ricerca.
Suggerisco di creare la suddetta tabella di ricerca nel proprio database, con due colonne: una per il GUID e una con un% di incremento automaticoint32
, impostate come chiave primaria. Quando vuoi un nuovo GUID alla conversione int32
, semplicemente INSERIRE un nuovo record nella tabella, assegnando il tuo GUID candidato alla colonna GUID.
È probabilmente una buona idea non eliminare mai alcun record da questa tabella come una questione di politica, poiché non si desidera mai che l'assegnazione int32
di un particolare GUID venga modificata. Assicurati di indicizzare la colonna GUID, senza duplicati.
Si noti che è possibile cooptare una tabella esistente per questo scopo, se ha senso farlo (ad esempio la tabella che utilizza già il GUID come chiave primaria). Basta aggiungere il campo auto-incrementante lì.