Quoth Enrico Thierbach <e...@open-lab.org>, on 2011-03-04 22:11:07 +0100:
> If I insert a record into a table with a primary key column id,
> Sqlite assigns a ROWID as outlined here
> http://www.sqlite.org/autoinc.html. However, I would like to assign
> a totally random rowid.

Why do you want to do this?  In particular, why would it not work to
randomize the values from the application side during inserts?

Random numbers collide faster than you might expect if you're not
familiar with the birthday paradox; normally, truly-random values that
are expected to have no collisions are generated using entropy from
the environment and are at least 128 bits long.  I suspect this is not
what you want.  If you just want them to be "random-looking" then it
may be more convenient to relate the underlying ID and the exterior ID
through a suitable permutation of the 64-bit integer space.  If
neither of those is true, you're probably looking at probing several
times to avoid collisions, and that's not something the stock "pick a
new row ID" mechanism handles AFAIK.

   ---> Drake Wilson
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to