MudGuard: MySQL - INSERT mit aktuellem AUTO_INCREMENT-Wert

Beitrag lesen

Hi,

Zwar nicht ganz so schön wie ich dachte, aber Problem gelöst:

$q01a = mysql_query("SELECT max(id) as maxid FROM user");
$q01b = mysql_fetch_assoc($q01a);

Nimm mal an, _jetzt_ kommt auf dem Server ein Task-Switch, ein zweiter Request selektiert und fügt ein.
Jetzt kommt nach einem weiteren Task-Switch Dein Insert, und die id in der Spalte feld zeigt auf den vom anderen Task eingefügten Datensatz.

$q01a = "INSERT INTO user
(feld)
VALUES
('Nr ".($q01b['maxid']+1)."')";
$q01b = mysql_query($q01a);

Als sichere(re) Lösung fällt mir spontan ein:
insert mit Dummywert in der Spalte feld.
Dann ein update mit set feld=id

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.