Hi All,
I have a table that uses auto_increment to generate the Id automatically
working fine. However, I need to create a new table where the Id must be a
number generated randomly, so I cannot use the auto_increment.
MySQL has a function RAND. So I could use something like this:
SELECT
If your specs are that specific (IDs must be between 1 and 99)
then you could create a 99-row table with one integer column and
prefill it with the numbers 1 to 99 in random order.
Then you could write a function that would select and return the first
number in the table, then delete
If you wanted to use/go that route, then why not select a random limit 1
from that table, and then delete that row?
SELECT `column` FROM `table` ORDER BY RAND() LIMIT 1;
On a side note, I would use the auto-inc field still, and store this number
in another field.
Steven Staples
It seems to be a good approach, although I was trying to get this by querying
the table without creating another table to keep the Ids.
Thanks,
Andre
--
Andre Matos
andrema...@mineirinho.org
On 2010-05-28, at 12:15 PM, Steven Staples wrote:
If you wanted to use/go that route, then why
-Original Message-
From: Jim Lyons [mailto:jlyons4...@gmail.com]
Sent: Friday, May 28, 2010 11:49 AM
To: Andre Matos
Cc: mysql@lists.mysql.com
Subject: Re: Using RAND to get a unique ID that has not been used yet
If your specs are that specific (IDs must be between 1 and 99)
then you
-Original Message-
From: Andre Matos [mailto:andrema...@mineirinho.org]
Sent: Friday, May 28, 2010 1:44 PM
To: Steven Staples
Cc: mysql@lists.mysql.com
Subject: Re: Using RAND to get a unique ID that has not been used yet
It seems to be a good approach, although I was trying to get this
When I mentioned having everything in the Query, I was thinking about this. I
don't want to have a loop repeating the query until I get a unique Id. This is
ridicules and imagine how many queries I might end up running. No way!
Thanks for the warning and feedback!
Andre
--
Andre Matos
On Fri, May 28, 2010 at 11:38 AM, Andre Matos andrema...@mineirinho.org wrote:
I have a table that uses auto_increment to generate the Id automatically
working fine.
However, I need to create a new table where the Id must be a number generated
randomly, so I cannot use the auto_increment.
The separate table for the IDs is probably best solution, maybe counting on
caching of the table with an index on the id value to speed up the 'where'
clause; this checks what numbers are left instead of what numbers have been
used; the disadvantage is that you have to manage a second table