postgresql兼容MySQL on update current_timestamp
问题描述
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相关推荐
- postgresql兼容MySQL datediff函数
datediff函数兼容解决方案 datediff函数说明 datediff函数返回俩日期相差的天数,如 select datediff('2021-12-21 10:21:23',now()) 在p ...
- postgresql兼容MySQL 时间函数date_format
MySQL DATE_FORMAT() 函数 定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 DATE_FORMAT(date,format) date 参数是 ...
- 取消MySQL timestamp列默认ON UPDATE CURRENT_TIMESTAMP
参考:http://blog.csdn.net/zht666/article/details/10373923 mysql授权用户: grant all on *.* to root@'%' iden ...
- 腾讯自研云原生数据库CynosDB发布 兼容MySQL和PostgreSQL
云数据库的战争已经打响,云计算走向成熟的过程中,也让云数据库脱离逐渐脱离稚嫩,有了可以和传统数据库软件叫板的资格,不过云数据库和传统数据库的发展各有千秋,最大区别在于适用场景不同. 雷锋网11月22日 ...
- MySQL 设置和取消“ON UPDATE CURRENT_TIMESTAMP”
文章目录 1. 设置"ON UPDATE CURRENT_TIMESTAMP" 2. 取消"ON UPDATE CURRENT_TIMESTAMP" 1. 设置 ...
- Mysql使用on update current_timestamp
Mysql使用on update current_timestamp注意点 最近项目里时间字段(datetime,timestamp)用到了ON UPDATE CURRENT_TIMESTAMP属性, ...
- MySQL函数:ON UPDATE CURRENT_TIMESTAMP 与 CURRENT_TIMESTAMP
日常开发总结:MySQL函数:ON UPDATE CURRENT_TIMESTAMP 与 CURRENT_TIMESTAMP 如表的创建语句:重点在于updated_time字段的函数 create ...
- mysql current_timestamp 不自动更新_MySQL ON UPDATE CURRENT_TIMESTAMP不更新
我有一张桌子,看起来像这样: CREATE TABLE IF NOT EXISTS `Hosts` ( `id` int(128) NOT NULL AUTO_INCREMENT, `IP` varc ...
- MySQL中的CURRENT_TIMESTAMP
这篇文章主要介绍了MySQL中CURRENT_TIMESTAMP的使用方式,具有很好的参考价值,希望对大家有所帮助.如有错误或未考虑完全的地方,望不吝赐教 CURRENT_TIMESTAMP的使用 众 ...
最新文章
- 关于Java中的JDBC使用和数据库(SQL Server)连接之后的一些操作
- LeetCode 264. Ugly Number II--C++,Python解法
- jwplayer使用
- 对函数指针与typedef的理解:typedef void (*sighandler_t)(int)
- C++ remove、remove_copy、remove_if和remove_copy_if函数使用详解
- java调用kafka接口发送数据_Java调用Kafka生产者,消费者Api及相关配置说明
- java数学计算表达式_Java初学者:内建函数计算简单的数学表达式
- mysql ndb还原数据库_ndb_restore恢复出错
- html、css、js实现简易计算器
- linux命令及其使用方法,Linux命令及其使用方法
- [Python 学习] 两、在Linux使用平台Python
- 时间戳转换为时间格式,时间格式转换为时间戳
- php实现mysql查询_PHP如何实现MYSQL查询功能
- 佳能2206L复印机打印复印整体偏淡维修及检测
- 摄像头在未来自动驾驶中的商业化落地方案
- 1.Dosbox的安装与使用
- tp5 微信分享朋友或朋友圈
- Python报错 TypeError: super(type, obj): obj must be an instance or subtype of type
- python字符串是啥_python字符串表示什么?
- ZigBee学习笔记——(二)IEEE 802.15.4无线传感器网络通信标准
热门文章
- Zookeeper客户端Curator详解
- resultful 风格
- 以春雨为题写一篇500字的散文
- ASUS TUF GAMING B660M PLUS WIFI D4 i5-12600K RX6650XT 黑苹果efi引导文件
- linux python 调试_Python安装与环境配置
- 用python的嵌套if结构开发一个输入(input)计税计算器
- access筛选末位数字为1或5_数字鸿沟理论不会用?北大必考常考,我们以快手短视频为例...
- 【微信小程序】一文带你吃透开发中的常用组件
- 路由器指定dns解析服务器设置
- 浅谈人工智能与游戏思维