1

I want to generate 6-digit unique random numbers for my Users table. This unique code is different from table primary key. It should not be sequential and must be in 6-digit format. I have to ignore numbers like 111111, 222222, ...

I can use the Random() class in C# to generate it but the uniqueness is the key.

Is there any solution to do it in C# (or in SQL Server)?

Nasseh
  • 429
  • 1
  • 4
  • 12
  • One way to generate unique 'random' numbers is to encrypt unique inputs: 0, 1, 2, 3, 4, ... Unique inputs will generate unique outputs. – rossum Nov 19 '16 at 11:21

1 Answers1

3

You can try this

    private static string GenerateNewRandom()
    {
        Random generator = new Random();
        String r = generator.Next(0, 1000000).ToString("D6");
        if (r.Distinct().Count() == 1)
        {
            r = GenerateNewRandom();
        }
        return r;
    }
daveywc
  • 3,136
  • 7
  • 45
  • 58
MMM
  • 3,132
  • 3
  • 20
  • 32