PostgreSQL-从MySQL到PostgreSQL一些习惯用法的解决方案
1. 主键自增:
PostgreSQL中是不能直接设置主键自增的,如果要设置主键自增是需要先新建一个序列:
1 |
|
然后把自增主键id的默认值设为nextval(‘table_id_seq’::regclass)就可以了,不过有一点需要注意:如果有insert失败后,id也会加一,当失败回滚后此时id会出现不连续也就是断层。
2.更新数据update_time自动更新
在MySQL中我们可以使用 ON UPDATE CURRENT_TIMESTAMP 来实现当行更新后,update_time会自动更新,但是postgreSQL是没有这个操作的,为了实现这一效果我们使用了触发器,首先先建一个函数:
1 |
|
然后创建触发器:
1 |
|
因为我们库里更新时间字段都为update_time所以我们就可以使用update_modified_column这个一个函数就可以了
目前就遇到这些不同,先更新这些,等遇到新的我再记录,有时间也要系统学下postgreSQL,也会整理的