问题描述

PostgreSQL执行Insert语句时,自动填入时间的功能可以在创建表时实现,但更新表时时间戳不会自动自动更新。

在mysql中可以在创建表时定义自动更新字段,比如 :

create table ab (
id int,
changetimestamp timestamp
NOT NULL
default CURRENT_TIMESTAMP
on update CURRENT_TIMESTAMP
);
那PostgreSQL中怎么操作呢?

解决方案

通过触发器实现,具体如下:

create or replace function upd_timestamp() returns trigger as
$$
beginnew.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 update
//set email = excluded.email,num=excluded.num;

select * from ts;
– delete from ts;

postgresql兼容MySQL on update current_timestamp相关推荐

  1. postgresql兼容MySQL datediff函数

    datediff函数兼容解决方案 datediff函数说明 datediff函数返回俩日期相差的天数,如 select datediff('2021-12-21 10:21:23',now()) 在p ...

  2. postgresql兼容MySQL 时间函数date_format

    MySQL DATE_FORMAT() 函数 定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 DATE_FORMAT(date,format) date 参数是 ...

  3. 取消MySQL timestamp列默认ON UPDATE CURRENT_TIMESTAMP

    参考:http://blog.csdn.net/zht666/article/details/10373923 mysql授权用户: grant all on *.* to root@'%' iden ...

  4. 腾讯自研云原生数据库CynosDB发布 兼容MySQL和PostgreSQL

    云数据库的战争已经打响,云计算走向成熟的过程中,也让云数据库脱离逐渐脱离稚嫩,有了可以和传统数据库软件叫板的资格,不过云数据库和传统数据库的发展各有千秋,最大区别在于适用场景不同. 雷锋网11月22日 ...

  5. MySQL 设置和取消“ON UPDATE CURRENT_TIMESTAMP”

    文章目录 1. 设置"ON UPDATE CURRENT_TIMESTAMP" 2. 取消"ON UPDATE CURRENT_TIMESTAMP" 1. 设置 ...

  6. Mysql使用on update current_timestamp

    Mysql使用on update current_timestamp注意点 最近项目里时间字段(datetime,timestamp)用到了ON UPDATE CURRENT_TIMESTAMP属性, ...

  7. MySQL函数:ON UPDATE CURRENT_TIMESTAMP 与 CURRENT_TIMESTAMP

    日常开发总结:MySQL函数:ON UPDATE CURRENT_TIMESTAMP 与 CURRENT_TIMESTAMP 如表的创建语句:重点在于updated_time字段的函数 create ...

  8. mysql current_timestamp 不自动更新_MySQL ON UPDATE CURRENT_TIMESTAMP不更新

    我有一张桌子,看起来像这样: CREATE TABLE IF NOT EXISTS `Hosts` ( `id` int(128) NOT NULL AUTO_INCREMENT, `IP` varc ...

  9. MySQL中的CURRENT_TIMESTAMP

    这篇文章主要介绍了MySQL中CURRENT_TIMESTAMP的使用方式,具有很好的参考价值,希望对大家有所帮助.如有错误或未考虑完全的地方,望不吝赐教 CURRENT_TIMESTAMP的使用 众 ...

最新文章

  1. 关于Java中的JDBC使用和数据库(SQL Server)连接之后的一些操作
  2. LeetCode 264. Ugly Number II--C++,Python解法
  3. jwplayer使用
  4. 对函数指针与typedef的理解:typedef void (*sighandler_t)(int)
  5. C++ remove、remove_copy、remove_if和remove_copy_if函数使用详解
  6. java调用kafka接口发送数据_Java调用Kafka生产者,消费者Api及相关配置说明
  7. java数学计算表达式_Java初学者:内建函数计算简单的数学表达式
  8. mysql ndb还原数据库_ndb_restore恢复出错
  9. html、css、js实现简易计算器
  10. linux命令及其使用方法,Linux命令及其使用方法
  11. [Python 学习] 两、在Linux使用平台Python
  12. 时间戳转换为时间格式,时间格式转换为时间戳
  13. php实现mysql查询_PHP如何实现MYSQL查询功能
  14. 佳能2206L复印机打印复印整体偏淡维修及检测
  15. 摄像头在未来自动驾驶中的商业化落地方案
  16. 1.Dosbox的安装与使用
  17. tp5 微信分享朋友或朋友圈
  18. Python报错 TypeError: super(type, obj): obj must be an instance or subtype of type
  19. python字符串是啥_python字符串表示什么?
  20. ZigBee学习笔记——(二)IEEE 802.15.4无线传感器网络通信标准

热门文章

  1. Zookeeper客户端Curator详解
  2. resultful 风格
  3. 以春雨为题写一篇500字的散文
  4. ASUS TUF GAMING B660M PLUS WIFI D4 i5-12600K RX6650XT 黑苹果efi引导文件
  5. linux python 调试_Python安装与环境配置
  6. 用python的嵌套if结构开发一个输入(input)计税计算器
  7. access筛选末位数字为1或5_数字鸿沟理论不会用?北大必考常考,我们以快手短视频为例...
  8. 【微信小程序】一文带你吃透开发中的常用组件
  9. 路由器指定dns解析服务器设置
  10. 浅谈人工智能与游戏思维