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

Beitrag lesen

Hallo iceX,

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,

in meinem speziellen Fall ist es unerheblich, ob zwei identische DS innerhalb eines kurzen Intervalls eingefügt werde - es genügt, daß nach dem Einfügen eines DS die Möglichkeit besteht, das bereits einer oder mehrere DS mit identischen Feldinhalten vorhanden sind. Da die DS sich nur durch den PK unterscheiden, führt ein nachfolgender SELECT zu einem Problem.

Dieses Problem entsteht nicht, wenn ich die DB den PK über AUTO_INCREMENT generieren lasse und, wie von Thomas angeregt, mit mysql_insert_id() den generierten Schlüssel erhalte. Mit dieser Vorgehensweise die Frage, ob bei einem wie auch immer konstruierten Zeitstempel die Möglichkeit von Duplikaten bei nahezu gleichzeitigem INSERT besteht, obsolet.

Die Nutzung von Zeitstempeln ist eine weit verbreitete Praxis, endlos von DB-Entwicklern diskutiert. Ich habe schon vor Jahren für mich entschieden, daß Zeitstempel als PK ausscheiden, wenn die betreffende DB eine saubere Lösung zur Erzeugung von PKs bietet - wie im Fall von MySQL.

Danke für den Tipp!

THX Robert