100%ig einmaliger numerischer String gesucht

  • Hey ho,

    ich habe nur mal eine kleine Verständnisfrage:
    und zwar suche ich einen 100%ig einmaligen numerischen String!
    Meine Idee ist:

    Da es für meine Verständnisse unmöglich ist in der absolut gleichen Microsekunde von der gleichen IP eine Seite aufzurufen bin ich der Meinung das dies eine Variante wäre. Oder habe ich etwas dabei vergessen?

    Und die nächste Frage: habe ich bei php myAdmin in einer Datenbank zu sagen das in der Spalte der Wert nur einmal vorkommen darf!?

    MfG

  • http://php.net/manual/de/function.uniqid.php + von mir aus deine IP

    Es gibt aber keine 100% ...

    Es können auch sehr viele Leute die selbe IP haben (Handynetze/Unis/Romte Zugriffe...)

    http://dev.mysql.com/doc/refman/5.1/de/constraint-primary-key.html(Zur Datenbankfrage)

    Ich würde aber eine fortlaufende Nummer von der Db generieren lassen und mit dieser arbeiten (von ausen kann man ja ruhig eine andere ID verwenden bzw ausgeben lassen)
    Das Thema hatten wir schon mal Synti was ;)



    mfg

    Einmal editiert, zuletzt von Pion (9. Februar 2011 um 16:32)

  • Kleine überarbeitung!^^

    OK ... DANKE!^^
    Zählt das jetzt als einmalig genug!? ;)
    ...
    Bsp. Ergebnis:

    Zitat

    98750bda98b6d848cb5b2b581080e9f74d52b60810e7a246308231

    Und wegen Primary, daran stört mich bis jetzt nur das ich ja schon nen primary habe. Geht das trotzdem!?^^
    Oder dann einfach den anderen Primary löschen und nur den nehmen!?

    MfG

  • Ich sagte doch bereits, dass es kein echte Unique(Eindeutigkeit) gibt

    Der einzige der das wirklich Eindeutig regeln kann ist deine Datenbank

    Verrate doch mal den Sinn hinter der Aktion

  • Ich weiß, aber besser gehts jetzt ni!^^
    ...
    Der Sinn ist, dass ich jedem User eine UserID zuweisen möchte, jedoch nicht die simple von der DB (1, 2, 3, 4, 5, etc.) sondern eine aus der man nichts wirklich erkennen kann, so wie Schweizer Nummern Konto. ;)
    Das die einfach nur eine lustige Kombination aus Zahlen, Buchstaben sind und nicht mehr. Über die Nummer werden Datenbank intern alle möglichen Tabellenbezüge hergestellt, also die Verknüpfung des Users mit Nachrichten, etc.
    Da ich dafür nicht die normale Datenbank ID nehmen kann, weil das voraussetzen würde das garantiert ist das in jede Tabelle gleichzeitig bei der registrierung die Daten geschrieben werden und nicht einer in der ersten Tabelle die 5 hat und weil ein anderer in der zweiten Tabelle schneller war dann die 6, brauche ich eine Scriptbestimmte und nicht auto_increment.
    ...
    Oder hast du da noch eine andere Idee, zur Erklärung: die ID von der DB (auto_increment) ist mir völlig egal, die brauche ich für absolut nichts! Wenn es also eine Variante gibt eine etwas komplexere ID über das auto_increment der DB zu erzeugen wäre ich auch zufrieden!.^^

  • Hab mir schon gedacht das du es deswegen machst.

    Ich rate dir aber trotzdem intern im Script mit einer fortlaufenden ID zuarbeiten. (auto_increment)
    Du musst deswegen ja nicht diese ID dem User zeigen, kannst ja eine 2te Id erstellen nach deinen Prinzip bzw aus ProfilDaten durch diese ID kommst du dann wieder auf die Interne fortlaufende Nummer

    mfg

  • Hab mir schon gedacht das du es deswegen machst.

    Ich rate dir aber trotzdem intern im Script mit einer fortlaufenden ID zuarbeiten. (auto_increment)
    Du musst deswegen ja nicht diese ID dem User zeigen, kannst ja eine 2te Id erstellen nach deinen Prinzip bzw aus ProfilDaten durch diese ID kommst du dann wieder auf die Interne fortlaufende Nummer

    mfg

    So habe ich es ja momentan, aber deshalb muss die zweite UserID ja trotzdem einmalig sein. ;)
    Sonst bekommt User x die Nachrichten von User y mit zugeordnet.^^ Und das wäre schlecht!
    Oder meinst du das irgendwie anders? :confused:

    Momentan habe ich:

    Zitat

    ID = auto_increment
    UserID = Script (siehe oben)


    Eine ID in zwei Tabellen unabhängig von einander zu erzeugen, ist eine schlechte Idee.


    Das mache ich ja auch nicht, zumindest nicht um mit den IDs wirklich zuordnungen zu treffen!
    Ich habe, wie grade gezeigt das in beiden Tabellen und Zuordnungen mit 3. Tabellen und so werden nur über die Scripterzeugte ID gemacht, weshalb es mir wichtiger ist das die Script ID eindeutig ist als die "sinnlose" DB-ID!

  • Okay nochmal:

    Im ganzen DB System(in deinen Querys etc) arbeitest du mit der ID, welche dir die DB hochzählt

    Dann hast du am Anfang in deinem Script eben solche Abfrage:
    Select id from user where key = Cookie[Key]

    Den Cookie Key erstellst du dann aus Profilinfromationen und der uniquide Id etc

    mfg

  • Okay nochmal:

    Im ganzen DB System(in deinen Querys etc) arbeitest du mit der ID, welche dir die DB hochzählt

    Dann hast du am Anfang in deinem Script eben solche Abfrage:
    Select id from user where key = Cookie[Key]

    Den Cookie Key erstellst du dann aus Profilinfromationen und der uniquide Id etc

    mfg



    Ok, wenn ich das richtig verstanden habe ist die Script ID also eig auch fürn Arsch!?^^
    Wenn ich eh alle Abfragen über die DB-ID mache, aber gibts ne Variante der DB zu sagen sie soll nicht: 1, 2, 3, etc. zählen sondern 0001, 0002, ..., 0010, 0011, etc.!? damit die Nummer immer x-Zeichen lang ist!?

    MfG