sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo actualizo automáticamente una marca de tiempo en PostgreSQL?

Para completar la columna durante la inserción, use un DEFAULT valor:

CREATE TABLE users (
  id serial not null,
  firstname varchar(100),
  middlename varchar(100),
  lastname varchar(100),
  email varchar(200),
  timestamp timestamp default current_timestamp
)

Tenga en cuenta que el valor de esa columna se puede sobrescribir explícitamente proporcionando un valor en INSERT declaración. Si quieres evitar eso, necesitas un gatillo.

También necesita un disparador si necesita actualizar esa columna cada vez que se actualiza la fila (como lo menciona E.J. Brennan)

Tenga en cuenta que el uso de palabras reservadas para los nombres de las columnas no suele ser una buena idea. Debería encontrar un nombre diferente a timestamp