Wie ihr wisst versuche ich gerade ein Forum zu schreiben, jedoch ist das gar nicht so einfach wie man vielleicht denken mag. Mich plagt zur Zeit das Problem des gleichzeitigen Schreiben eines Beitrags. Wie ist es mir überhaupt möglich wenn zwei kurzzeitig hintereinander einen Beitrag schreiben und das eine skript braucht aus irgendeinem Grund länger die den Beitrag zu identifizieren? WIe ist es mir dann zB möglich herauszufinden welcher Beitrag mit welcher id das jetzt in der Tabelle war? Ich habe es mir durchgedacht, es ist unmöglich es herauszufinden wenn man vom allgemeinen Fall ausgeht, denn schreibt ein User einen Eintrag, so wird eine nächsthöhere Id angelegt, möchte ich diese einlesen, zum Beispiel durch getMaxid() welche die momentane Maximale id heraussucht, dann könnte schon wer anderer auch einen Beitrag geschrieben habe und ich bekomme eine verfälschte Id. Gibt es denn keine Möglichkeit die Id (welche ja autoinkrementiert) gleich beim schreiben eines Eintrags von der Tabelle zurückzugeben? Das würde alle meine Probleme auf Anhieb lösen. Sprich ich schreibe einen Eintrag in der Tabelle und die Schreiboperation gibt mir ein Feedback mit welcher Id dieser Beitrag geschrieben wurde... Geht das?
emi schrieb: > Geht das? Ja http://viralpatel.net/blogs/get-autoincrement-value-after-insert-query-in-mysql/ Du koenntest auch googlen, zB mit 'mysql get auto_increment value after insert'
Ein anderer Ansatz ist: Direkt GUIDs als Primary-Key verwenden statt aufsteigender IDs. Dann ist der Primary-Key quasi schon vor dem Einfügen bekannt: http://stackoverflow.com/questions/45399/advantages-and-disadvantages-of-guid-uuid-database-keys
Guck dir die Lock mechanismen an- das erschlägt dein Problem
LAST_INSERT_ID()
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.