sql >> Database >  >> RDS >> Mysql

Hoe de ID van de laatst bijgewerkte rij in MySQL te krijgen?

Ik heb een antwoord op dit probleem gevonden :)

SET @update_id := 0;
UPDATE some_table SET column_name = 'value', id = (SELECT @update_id := id)
WHERE some_other_column = 'blah' LIMIT 1; 
SELECT @update_id;

BEWERKEN door aexx

Deze techniek kan verder worden uitgebreid om de ID op te halen van elke rij die wordt beïnvloed door een update-instructie:

SET @uids := null;
UPDATE footable
   SET foo = 'bar'
 WHERE fooid > 5
   AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;

Dit retourneert een string met alle ID's aaneengeschakeld door een komma.



  1. Een PostgreSQL-database maken en verwijderen op Ubuntu 16.04

  2. Kan de standaarddatabase van de gebruiker niet openen. Inloggen mislukt. na installatie van SQL Server Management Studio Express

  3. mysql voorbereide instructiefout:MySQLSyntaxErrorException

  4. Mysql-volgorde op specifieke ID-waarden