Einfache Antwort - nein, das ist nicht möglich.
Längere Antwort, ja, wenn Sie eine gespeicherte Prozedur verwenden, die den Wert für die angegebene ID erhöht, den neuen Wert abruft und zurückgibt.
Ich habe das gerade unter MySQL 5.1.59 getestet:
CREATE PROCEDURE increment (IN uniqid VARCHAR(255))
BEGIN
UPDATE `table` SET number = number + 1 WHERE id = uniqid;
SELECT number FROM `table` WHERE id = uniqid;
END
Verwendung:
CALL increment(uniqid)
Wenn mehrere gleichzeitige Zugriffe möglich sind, können Sie LOCK
die Tabelle zuerst, um die Unteilbarkeit der Operation sicherzustellen - MySQL erlaubt anscheinend nicht, dass gespeicherte Prozeduren Tabellen selbst sperren.