Beitrag von:
... ist OFFLINE
Schreiberlevel: Forenprofessor
Beiträge: 2930
User seit 20.08.1999
| Geschrieben am 09.03.2005 um 09:13 Uhr  
| Heute abend werde ich mich wohl an die PHP-Programmierung für die Dicke Eier Tour machen. Ein Problem was ich bisher immer hatte: Wie kann ich einem Teilnehmer-Datensatz in MySQL einen eindeutigen Schlüssel geben? Das soll auch funktionieren wenn der Benutzer doppelklickt, d.h. wenn zwei Datensätze gleichzeitig erzeugt werden.
Hintergrund: Für die Dicke Eier Tour gibts ein Online-Anmeldeformular, welches auf PHP/MySQL basiert. Die Teilnehmerliste wird stets aktuell angezeigt. Das ist für die Benutzer (Teilnehmer) und für mich toll. | Antworten
Antworten mit Zitat
E-Mail an Marcus Moderatoren-Team informieren Themen-Abo bestellen |
|
|
Beitrag von:
... ist OFFLINE
Schreiberlevel: Forenuntertertianer
Beiträge: 186
User seit 28.06.2004
| Geschrieben am 09.03.2005 um 10:08 Uhr  
| [ Beitrag wurde zuletzt editiert von mrporsch am 09.03.2005 um 10:10 Uhr ]
Hallo,
du musst dir eine sog. UUID erzeugen. Unter diesem Begriff findest du tausend Beispiele Beispiele im Netz (Bei neueren MySQL-Servern kannst du dir auch ein UUID von MySQL erzeugen lassen).
Die UUID ist immer eindeutig, jedes Mal wenn du eine erzeugst bekommst du ne neue. Also UUID erzeugen, in bei Tabellen eintragen und schon hast du ne Prima Relation.
Viel Spaß beim Basteln
Marco
--
SLK 350 | Antworten
Antworten mit Zitat
E-Mail an mrporsch Moderatoren-Team informieren Themen-Abo bestellen |
|
|
Affiliate-Anzeigen:
|
|
|
Beitrag von:
... ist OFFLINE
Schreiberlevel: Forenabiturient
Beiträge: 906
User seit vor Apr. 03
| |
|
Beitrag von:
... ist OFFLINE
Schreiberlevel: Forenuntertertianer
Beiträge: 186
User seit 28.06.2004
| |
|
Affiliate-Anzeigen:
|
|
|
Beitrag von:
User existiert nicht mehr bei MBSLK.de | |
|
Beitrag von:
... ist OFFLINE
Schreiberlevel: Forenvorschüler
Beiträge: 19
User seit 29.08.2004
| Geschrieben am 09.03.2005 um 11:47 Uhr  
| Moin,
so würde ich es auch machen...
Feldname: id
Typ: int
extra: auto_increment
MySql erzeugt dann fortlaufende IDs automatisch.
Wird dann noch das "unique"-Attribut richtig genutzt, werden auch keine Datensätze doppelt angelegt.
Darüber hinaus empfehle ich phpMyAdmin für die Administration von MySQL-DBs.
Gruß
Thorsten | Antworten
Antworten mit Zitat
E-Mail an lumpie Moderatoren-Team informieren Themen-Abo bestellen |
|
|
Affiliate-Anzeigen:
|
|
|
Beitrag von:
... ist OFFLINE
Schreiberlevel: Forenuntertertianer
Beiträge: 186
User seit 28.06.2004
| |
|
Beitrag von:
User existiert nicht mehr bei MBSLK.de | Geschrieben am 09.03.2005 um 14:28 Uhr  
| Datensatz 1: (Tabelle1)
INSERT INTO x (ID, Feld1, ...) VALUES (a, ....)
ID muss nicht mit in die Values-Klausel
Datensatz 1: (Tabelle2)
INSERT INTO y (ID, IDVonX, Feld1,...) VALUES ((SELECT @@IDENTITY, a, ...)
@@IDENTITY liefert den zuletzt augegeben AUTOINC-Wert zurück.
Was ich jetzt nur hoffe ist: Gibt es @@IDENTITY auch bei mySQL?? Sonst muss man manuell den ID Wert auslesen.
Das ganze in eine Transaktion packen und schon gibt es kein Problem mehr mit gleichzeitigen Anlegen von Datensätzen, da sich dann die Identitywerte nicht mehr in die Quere kommen. | Antworten
Antworten mit Zitat
Moderatoren-Team informieren Themen-Abo bestellen |
|
|
Affiliate-Anzeigen:
|
|
|
Beitrag von:
... ist OFFLINE
Schreiberlevel: Forenuntertertianer
Beiträge: 186
User seit 28.06.2004
| |
|
Beitrag von:
... ist OFFLINE
Schreiberlevel: Forenvorschüler
Beiträge: 19
User seit 29.08.2004
| |
|