最近接触公司的一些技术
数据库用的postgresql,自然对于我这种小白自然会遇到很多坑,因为大学接触的都是mysql。
与mysql相比较大体的语法很相似,一下总结一些我开发中遇到常见的坑
postgreSQL 自增需要使用序列
1.使用SERIAL
CREATE TABLE users ( id SERIAL4 primary key , name character varying, password character varying )
自动创建名为users_id_seq的序列,其起始值为1,步增为1,且MAXVALUE=2147483647, 其中serial4 创建后对应 int4, 如果是serial2 则对应为int2。实际和方法2的效果是一样的,并且不用手动创建序列。只是以前的版本可能是serial,一开始执行失败,现在发现是这一个样子的。
2.先创建序列,然后设置字段的自增
CREATE SEQUENCE users_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
alter table users alter column id set default nextval('users_id_seq');
我是采用第二种方法成功的。