Eenvoudig antwoord - nee, dat is niet mogelijk.
Langer antwoord, ja, als u een opgeslagen procedure gebruikt die de waarde voor de opgegeven ID verhoogt, de nieuwe waarde ophaalt en retourneert.
Ik heb dit zojuist getest onder MySQL 5.1.59:
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
Gebruik:
CALL increment(uniqid)
Als meerdere gelijktijdige toegangen mogelijk zijn, wilt u misschien LOCK
de tabel eerst om de atomiciteit van de operatie te garanderen - MySQL staat blijkbaar niet toe dat opgeslagen procedures de tabellen zelf vergrendelen.