---
title: "id"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/100058-id"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "dendålige"
published: "2004-03-22T12:16:47.000Z"
updated: "2004-03-22T13:48:30.000Z"
replies: 13
views: 284
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/100058-id"
---

# id

## #1 — dendålige, 2004-03-22T12:16Z

just nu skapar jag en medlems id med denna funktion:

Function id(word)
 Dim idet
 Const idChars = "abcdefghikjlmopqrstuvwxyzABCDEFGHIJKLMNOPPQRSTUVWXYZ0123456789"
 Randomize
 For i =  1 To 20
  idet = idet & mid (idChars, int(rnd\*len(idChars))+1, 1 )
 Next
 id = idet
End Function

men hur stor är sanolikheten att någon får likadant id?

hur fixar man så att den kollar om id:et finns, annars så slumpar den om på nytt??

Permalänk: https://www.webforum.nu/p/100058

## #2 — mrblonde, 2004-03-22T12:25Z

Lagrar du din information i en databas? Isåfall kan din databas säkerligen skapa ett unikt id, vilket garanterar att id inte blir dubblerat. 

Det är dumt att skapa ett id som du gör.

För att kolla, du lagrar väl ditt slumpade id i en databas? Gör en slagnng mot databasen och kontrollera att id:et inte finns, ifall det finns, slumpa ett nytt.

Permalänk: https://www.webforum.nu/p/1305045

## #3 — icaaq, 2004-03-22T12:25Z

Om du anvÃ¤nder en databas fÃ¶r att lagra dina medlemmar, sÃ¥ kan du (om du inte anvÃ¤nder mySql) anvÃ¤nda dig av ett replikations-id istÃ¤llet. Detta stÃ¤ller du in i access/MS-Sql.

DÃ¥ kommer du inte att fÃ¥ lika medlems-id:en iaf.

mv icaaq

Permalänk: https://www.webforum.nu/p/1305046

## #4 — mrblonde, 2004-03-22T12:26Z

oddsen för att du slumpar samma id 2 ggr är väl (om jag inte är ute och cyklar) 3,66 \* 10 upphöjt i 35

Ganska liten alltså.

Permalänk: https://www.webforum.nu/p/1305047

## #5 — Jesper T, 2004-03-22T12:49Z

1\.) Skapa en kolumn som inte tål dubletter.
2\.) Lägg till medlemmens uppgifter i databasen
3\.) Kör: 

```
set recSet = connection.execute("select last_insert_id()")
nytt_unikt_id = recSet(0)
```

Och vips så har du nu det unika id:t i nytt_unikt_id.

Permalänk: https://www.webforum.nu/p/1305054

## #6 — dendålige, 2004-03-22T13:13Z

jag har databas... och jag kör MySQL

hmm... jesperT hur menade du där?

Permalänk: https://www.webforum.nu/p/1305066

## #7 — Peeer, 2004-03-22T13:17Z

\<ot\>

> **mrblonde skrev:**
>
> 3,66 \* 10 upphöjt i 35

Antar att du glömde ett litet minustecken där.. :OO\</ot\>

Permalänk: https://www.webforum.nu/p/1305069

## #8 — Jesper T, 2004-03-22T13:28Z

Lägg till en kolumn(om du inte redan har en) som t.ex. heter unikt_id:

```
CREATE TABLE din_tabell (unikt_id int(11) unsigned NOT NULL auto_increment,
  PRIMARY KEY  (unikt_id)
) TYPE=MyISAM;
```

 Som du hämtar upp det unika id:t på genom koden jag tidigare bifogade.

Permalänk: https://www.webforum.nu/p/1305076

## #9 — dendålige, 2004-03-22T13:31Z

hmm... men alltså när man kör auto_increment... kör den inte direkt från 1 och så vidare upp... förlåt om jag inte riktigt förstår hur du menar :S suttit framför datorn några timmar nu så jag är lite borta =P

Permalänk: https://www.webforum.nu/p/1305079

## #10 — icaaq, 2004-03-22T13:33Z

Vad använder du för databas?

Permalänk: https://www.webforum.nu/p/1305080

## #11 — dendålige, 2004-03-22T13:36Z

MySQL...

Permalänk: https://www.webforum.nu/p/1305084

## #12 — Jesper T, 2004-03-22T13:38Z

> **dendålige skrev:**
>
> hmm... men alltså när man kör auto_increment... kör den inte direkt från 1 och så vidare upp... förlåt om jag inte riktigt förstår hur du menar :S suttit framför datorn några timmar nu så jag är lite borta =P

Vad spelar det för roll om id:t är unikt?

Permalänk: https://www.webforum.nu/p/1305086

## #13 — dendålige, 2004-03-22T13:40Z

alltså.... varje medlem måste ju ha ett unikt id... och jag vill inte att det ska vara 1,2,3 osv... därför slumpa jag då ut ett id, som skulle kunna jämföras med replikations-id i access...

men vill inte riskera att det kan bli dubletter

Permalänk: https://www.webforum.nu/p/1305087

## #14 — Engine^, 2004-03-22T13:48Z

Varför vill du inte har från 1?

Jag tycker det verkar onödigt att krångla till ett ID med massa tecken om det inte behövs.

Om du måste så är det bara att använda din funktion. Kontrollera om ID:t redan finns

```
blnIsUnique = False

While Not blnIsUnique
  strSql = "SELECT memberID FROM tabell WHERE ID = " & id

  objRS.Open strSql, [i]Connection[/i]

  If objRS.EOF Then blnIsUnique = True

  objRS.Close
Wend
```

Typ...

Permalänk: https://www.webforum.nu/p/1305091

---

Tråden på webben: https://www.webforum.nu/amne/asp/100058-id
