MySQLでCURRENT_TIMESTAMPを使用して実行できるように、新しい行が挿入されたときにコードがタイムスタンプを自動的に更新できるようにしたい。
PostgreSQLでこれをどのように実現できますか?
CREATE TABLE users (
id serial not null,
firstname varchar(100),
middlename varchar(100),
lastname varchar(100),
email varchar(200),
timestamp timestamp
)
これをもう一度再学習した後、デフォルト、関数、およびトリガーを使用して行の作成と変更の両方の日時をログに記録することに関する詳細なブログ投稿を書きました。Postgresで使用するための完全なサンプルSQLおよびPL / pgSQLコードが含まれています。
—
バジルブルク2014年
timestamp
、SQL仕様での省略形として定義されていますTIMESTAMP WITHOUT TIME ZONE
。PostgresのエキスパートであるDavid E. Wheelerが説明しているように、これはほぼ間違いなく望ましいことではありません。もう1つのタイプTIMESTAMP WITH TIME ZONE
はおそらく必要なもので、日付と時刻をUTCに調整するために渡されたタイムゾーンオフセット情報を使用します(ただし、タイプ名にもかかわらず実際にはそのタイムゾーン情報を格納しません)。