一.主键自增的方式:
1.mysql 通过勾选即可。
2.postgreSQL可以通过两种方式实现主键自增。
2.1.使用SERIAL
2.2先创建序列,然后设置字段的自增
CREATE SEQUENCE rpt_month_cargo_capacity_recid_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
alter table rpt_month_cargo_capacity alter column recid set default nextval('rpt_month_cargo_capacity_recid_seq');
二.用``包含的字段在postgreSQL中报错,像year,month等这种保留字段最好别用。
下面的语句在mysql中运行时没有问题的。
SELECT r.month, sum(r.weights) sumweight FROM rpt_day_weight r WHERE r.`year` = #{year}
group by r.`month`;
三、时间和日期的差异
像在mysql中能用的curdate(),在postgreSQL中报如下错误
获得上个 月的年和月,mysql可以通过
DATE_FORMAT(DATE_SUB(CONCAT(#{year},'-',#{month},'-06'), INTERVAL 1 MONTH),'%Y-%m')
postgreSQL 中
to_char(to_timestamp(#{ymdstr}, 'yyyy-mm-dd') - interval '1 month','YYYY-MM')
四、limit的用法不同
mysql 中
SELECT * from rpt_day_weight order by weights desc limit 0, 10。or
select * from rpt_day_weight order by weights desc limit 10 offset 0 都可以
postgreSQL 中 只能用
select * from rpt_day_weight order by weights desc limit 10 offset 0
五、连接数据库的方式不同
mysql连接数据库方式如下:
postgreSQL连接数库如下: