Tôi muốn mã có thể tự động cập nhật dấu thời gian khi hàng mới được chèn vào như tôi có thể thực hiện trong MySQL bằng CURRENT_TIMESTAMP.Làm cách nào để tự động cập nhật dấu thời gian trong PostgreSQL
Làm cách nào để có thể đạt được điều này trong PostgreSQL?
CREATE TABLE users (
id serial not null,
firstname varchar(100),
middlename varchar(100),
lastname varchar(100),
email varchar(200),
timestamp timestamp
)
Nhân tiện, kiểu dữ liệu của bạn của dấu thời gian được xác định bởi thông số SQL làm chữ viết tắt của 'TIMESTAMP WITHOUT TIME ZONE'. Đó là gần như chắc chắn không phải những gì bạn muốn, như [giải thích bởi chuyên gia Postgres David E. Wheeler] (http://justatheory.com/computers/databases/postgresql/use-timestamptz.html). Loại khác, 'TIMESTAMP WITH TIME ZONE' có lẽ là những gì bạn muốn, sử dụng bất kỳ thông tin bù giờ múi giờ đã qua để điều chỉnh ngày giờ thành [UTC] (http://en.wikipedia.org/wiki/Coordinated_Universal_Time) (nhưng không thực sự lưu trữ thông tin múi giờ đó mặc dù tên loại). –
Sau khi đã học lại điều này một lần nữa, tôi đã viết một [bài đăng blog chi tiết] (http://crafted-software.blogspot.com/2014/10/track-date-time-of-row-creation.html) về ghi nhật ký ngày giờ tạo và sửa đổi cả hàng bằng cách sử dụng mặc định, hàm và trình kích hoạt. Bao gồm mã SQL và PL/pgSQL mẫu hoàn chỉnh để sử dụng trong Postgres. –