On October 16, 2009 12:29:42 pm Jerry Schwartz wrote:
> >-----Original Message-----
> >From: Ray [mailto:ray@stripped]
> >Sent: Friday, October 16, 2009 1:10 PM
> >To: mysql@stripped
> >Subject: Re: insert random number into table
> >On October 16, 2009 10:57:48 am Jerry Schwartz wrote:
> >> There is a RAND function in MySQL, but if you need to guarantee that the
> >> identifiers are unique you should consider using an auto-increment
> >> field.
> >> If that isn't unique enough, you can use the UUID or UUID_SHORT
> >> functions. Theoretically, those should return values that are unique
> >> across the Internet (at least).
> >> Regards,
> >> Jerry Schwartz
> >> The Infoshop by Global Information Incorporated
> >> 195 Farmington Ave.
> >> Farmington, CT 06032
> >> 860.674.8796 / FAX: 860.674.8341
> >> www.the-infoshop.com
> >> >-----Original Message-----
> >> >From: Ray [mailto:ray@stripped]
> >> >Sent: Friday, October 16, 2009 11:43 AM
> >> >To: mysql@stripped
> >> >Subject: insert random number into table
> >> >
> >> >Hello All,
> >> >I am trying to insert a unique random number* with each row when
> >> > inserting into a table. I can do it in the application layer (php) but
> >> > just wondering if
> >> >there is an easier way in the database layer.
> >> >Thanks
> >> >Ray
> >> >
> >> >* for example, when registering a person for a contest, I want to give
> >> > them a unique, random identifier.
> >> >
> >> >--
> >> >MySQL General Mailing List
> >> >For list archives: http://lists.mysql.com/mysql
> >> >To unsubscribe: http://lists.mysql.com/mysql?unsub=1
> >> >infoshop.com
> >Thanks for the replies. I think I'll use the php solution as it is the
> > better match for what I am trying to do. I'l keep the UUID functions in
> > mind for future use though.
> [JS] Just remember that the pseudo-random numbers that come out of a
> computer, regardless of where or how they are generated, are not guaranteed
> to be unique. Although the odds of a collision are slim, my philosophy has
> always been "if it's possible, it will happen - in the middle of your
> If you want to generate UUIDs in PHP, take a look at
> >MySQL General Mailing List
> >For list archives: http://lists.mysql.com/mysql
> >To unsubscribe: http://lists.mysql.com/mysql?unsub=1
Thanks for all the suggestions and points. There are definitely some I will
keep in mind for future projects. auto increment won't work because I don't
want the number to be based on the order of assignment.
I probably should have been more clear. What I am trying to do is randomly
assign one of a fixed pool of numbers uniquely to each row.
What I ended up doing is (in PHP):
SELECT all used numbers and put them in an array.
create an array of all allowed numbers.
combine the two arrays such that all available numbers are left in a third
array with index numbers from 1 counting up sequentially. I then randomly
choose one of those numbers and write it to the table.
Thanks again for all your suggestions.