PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie aktualisiere ich automatisch einen Zeitstempel in PostgreSQL

Um die Spalte während des Einfügens zu füllen, verwenden Sie einen DEFAULT Wert:

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

Beachten Sie, dass der Wert für diese Spalte explizit überschrieben werden kann, indem Sie einen Wert in INSERT angeben Erklärung. Wenn Sie das verhindern wollen, brauchen Sie einen Auslöser.

Sie benötigen auch einen Trigger, wenn Sie diese Spalte aktualisieren müssen, wenn die Zeile aktualisiert wird (wie von E.J. Brennan erwähnt)

Beachten Sie, dass es normalerweise keine gute Idee ist, reservierte Wörter für Spaltennamen zu verwenden. Sie sollten einen anderen Namen als timestamp finden