国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > PostgreSQL > 正文

PostgreSQL更新表時時間戳不會自動更新的解決方法

2020-01-31 15:21:26
字體:
來源:轉載
供稿:網(wǎng)友

PostgreSQL更新表時時間戳不會自動更新的解決方法,具體如下

操作系統(tǒng):CentOS7.3.1611_x64

PostgreSQL版本:9.6

問題描述

PostgreSQL執(zhí)行Insert語句時,自動填入時間的功能可以在創(chuàng)建表時實現(xiàn),但更新表時時間戳不會自動自動更新。

在mysql中可以在創(chuàng)建表時定義自動更新字段,比如 :

create table ab ( id int, changetimestamp timestamp  NOT NULL  default CURRENT_TIMESTAMP  on update CURRENT_TIMESTAMP);

那PostgreSQL中怎么操作呢?

解決方案

通過觸發(fā)器實現(xiàn),具體如下:

create or replace function upd_timestamp() returns trigger as$$begin  new.modified = current_timestamp;  return new;end$$language plpgsql;drop table if exists ts;create table ts (  id   bigserial primary key,  tradeid integer ,  email varchar(50),  num integer,  modified timestamp default current_timestamp);create trigger t_name before update on ts for each row execute procedure upd_timestamp();

測試代碼:

insert into ts (tradeid,email,num) values (1223,'mike_zhang@live.com',1);update ts set email='Mike_Zhang@live' where tradeid = 1223 ;create unique index ts_tradeid_idx on ts(tradeid);insert into ts(tradeid,email,num) values (1223,'Mike_Zhang@live.com',2) on conflict(tradeid) do updateset email = excluded.email,num=excluded.num;select * from ts;-- delete from ts;

好,就這些了,希望對你有幫助。

本文github地址

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 河北区| 武冈市| 望江县| 乳源| 思茅市| 镇巴县| 浠水县| 洞口县| 明星| 同德县| 同江市| 重庆市| 通海县| 长春市| 漯河市| 临夏市| 阿克陶县| 白山市| 休宁县| 伊宁市| 永福县| 通城县| 无棣县| 平武县| 丁青县| 荔浦县| 岑巩县| 青田县| 广元市| 梅河口市| 宽甸| 淮阳县| 江城| 莒南县| 金沙县| 普定县| 松原市| 那曲县| 佳木斯市| 修武县| 南和县|