sql >> Database >  >> RDS >> PostgreSQL

Tijdstempel van de laatste wijziging van een rij bijhouden in Postgres

In postgresql moet je een trigger gebruiken. U kunt deze link volgen om dit te doen https://x- team.com/blog/automatic-timestamps-with-postgresql/ .

Om het artikel samen te vatten, kunt u het volgende doen:

  1. Maak de Pl/Pgsql-functie die wordt geactiveerd:

    CREATE OR REPLACE FUNCTION trigger_set_timestamp()
    RETURNS TRIGGER AS $$
    BEGIN
      NEW.updated_at = NOW();
      RETURN NEW;
    END;
    $$ LANGUAGE plpgsql;
    
  2. Maak je tafel

    CREATE TABLE mytable (
      id SERIAL NOT NULL PRIMARY KEY,
      content TEXT,
      updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
    );
    
  3. En voeg tot slot de trigger toe:

    CREATE TRIGGER set_timestamp
    BEFORE UPDATE ON mytable
    FOR EACH ROW
    EXECUTE FUNCTION trigger_set_timestamp();
    

U kunt hier meer informatie over de vraag vinden:https://dba.stackexchange.com/questions/58214/getting-last-modification-date-of-a-postgresql-database-table

Ik hoop dat het je zal helpen.



  1. waarom zorgt deze mysql-fout ervoor dat nodejs crasht in plaats van naar de catch-functie te gaan?

  2. MySQL op Docker - Hoe u uw database kunt containeriseren:nieuwe whitepaper

  3. Hoe maak je verbinding van docker-compose naar Host PostgreSQL?

  4. PHP - Onjuiste POST-gegevens worden verzonden via een formulier bij echo?