sql >> Databasteknik >  >> RDS >> PostgreSQL

uppdatera befintliga poster med ett unikt heltal

Du behöver en primärnyckel (eller en unik kolumn) för att individuellt uppdatera rader i en tabell. I brist på en sådan kolumn kan du använda den dolda kolumnen ctid som är unik per definition, exempel:

update foo f
set ver = rn
from (
    select ctid, row_number() over (order by ctid) as rn
    from foo
    ) s
where f.ctid = s.ctid


  1. MySQL FULL GÅ MED?

  2. SQL Ersätt flera variabler från en annan tabell i frågeresultatet

  3. Hur man aktiverar CDC på uppsättning tabeller ELLER aktiverar på alla tabeller i en databas i SQL Server - SQL Server Tutorial

  4. Stöder spatialite/mysql 3D-punkt?