doppel query (eintragen/auslesen)

kase

Erfahrenes Mitglied
Hallo,
ich habe zwei Tabellen, nach der Datenbanknormalisierung 3NF.

In der einen steht einfach nur die Konto ID und die User ID. In der Konto Tabelle stehen so allerhand Daten und am Anfang die Konto ID die mit auto_increment eingetragen wird.

Nun trage ich ein neues Konto in die Kontentabelle ein, jetzt muss ich aber an die ID des Kontos ran kommen und es in die zweite Tabelle einzutragen.

Leider ist nur über die ID der Eintrag zweifelsfrei zuzuweisen, ich brauche also einen query der einträgt und gleichzeitig ausgibt.

Bis jetzt sieht es so aus:

PHP:
	mysql_query("INSERT INTO
		`konten` 
				VALUES (
		'', 
		'no', 
		'".$_SESSION['userid']."', 
		'".$_POST['name']."', 
		'".$_POST['typ']."', 
		'".$gender."', 
		'".$_POST['staat']."'
						)
					") 
	OR die(mysql_error());

Danke für die Hilfe :)
 
Hol dir einfach den letzten Eintrag aus der DB in dem du nach id sortierst, absteigend und ein Limit von 1 nimmst... Dadurch hast du den Eintrag mit der größten id, also den letzten Eintrag.
 
Hm, stimmt, wenn sie um wenige Millisekunden versetzt eintragen, könnte der frühere den Eintrag des späteren bekommen...
Du könntest natürlich auch ein Feld mit dem Registrierungsdatum hinzufügen per microtime()... Ich glaube kaum, dass sich zwei Registrierungen im Millisekunden bereich überschneiden werden... Natürlich könnte es diesen WorstCase geben, aber mir fällt spontan keine bessere Möglichkeit ein.
 
mach vorher ne schleife, while die alle durchgeht, und immer nen $zahl++ enthält, dann nach der schleife setzte nen $zahl = $zahl+1; das ist dann die id die dein neuer Eintrag mit auto_increment haben wird, solange du inner mitte nicht was per DB rauslöscht, sonst kommt das auto_increment ja wie wir alle wissen durcheinander ;)
 
Zurück