iceX: MySQL: Zugriff auf eingefügten Datensatz nach INSERT

Beitrag lesen

Um an den Datensatz zu kommen, mußt Du nach dem INSERT ein SELECT auf die DB durchführen.

Hallo Frank,

danke für die schnelle Antwort!

Der Ansatz mit SELECT nach INSERT erscheint mir nicht wasserdicht, da ich annehmen muß, daß bereits DS mit identischen Feldinhalten - außer dem PK natürlich - in der DB vorhanden sind oder eine Millisekunde nach meinem INSERT eingefügt werden. Wenn ich nicht etwas übersehe, müßte ich im SELECT die Feldinhalte mit den an INSERT übergebenen Werten abgleichen, ich erhielte also eine Menge aller derartigen DS zurück.

Ich werde es mit dem Lösungsvorschlag von Thomas via mysql_insert_id() veruschen...

Gruß

Robert

bist du dir sicher, das in einer einzigen millisekunde genau zwei identische datensätze eingefügt werden ? wenn nicht erstelle doch noch ein feld mts (millisektimestmp) in deiner db,
vor dem insert vergebe an eine variable den wert microtime().
diesen wert mit in di db->mts schreiben, und paralell die variable mit der microtime beim select verwenden (eventuell in verbindung mit anderen eingetragenen werten).... etwa so:

$millits = microtime();

@mysql_query("INSERT INTO blabla (inhalt, name, date, mts) VALUES ('$inhalt', '$name', '$datum', '$millits')");

$get = @mysql_query("SELECT * FROM blabla WHERE inhalt='$inhalt' AND name='$name' AND datum='$datum' AND mts='$millits'");

........

greets iceX

PS: die feldlänge von microtime kann ich dir so jetzt nicht sagen (musst du dir die var $millits mal anzeigen lassen und zählen)