2015第13周五

本文介绍在PgSQL中如何处理同一模式下不同数据库间表名和序列名冲突的问题,并提供了序列的创建方法及重置序列的具体步骤。

pgsql同一模式下不同数据库如果表名、序列名相同,可能会导致两数据库中相同表明公用同一序列问题?

pgsql序列对象(也叫序列生成器)就是用CREATE SEQUENCE 创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。

重置序列:user_id字段是一个自增字段(通过序列increment_num实现)。 

在测试阶段常常清空数据库,同时自增字段也最好重置为从1开始,也就是:select setval('increment_num', 1, false)

创建序列两种方法:

方法一:直接在表中指定字段类型为serial 类型

方法二:先创建序列名称,然后在新建的表中列属性指定序列就可以了,该列需int 类型

创建序列的语法:

CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]
    [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]
    [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]
    [ OWNED BY { table.column | NONE } ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值