pgsql设置字段自增
1、添加自增序列
CREATE SEQUENCE 表名_id_seqSTART WITH 1INCREMENT BY 1NO MINVALUENO MAXVALUECACHE 1;
alter table表名 alter column id set default nextval(‘表名_id_seq');设置表某个字段自增
从当前最大id依次递增
select setval(‘表名_id_seq',(select max(id) from 同一个表名));
大写字符的表需要加双引号。例如:
select setval('“表名_id_seq”',(select max(id) from “表名”));
补充:PostgreSQL中设置表中某列值自增或循环
在postgresql中,设置已存在的某列(num)值自增,可以用以下方法:
//将表tb按name排序,利用row_number() over()查询序号并将该列命名为rownum,创建新表tb1并将结果保存到该表中
create table tb1 as (select *, row_number() over(order by name) as rownum from tb);
//根据两张表共同的字段name,将tb1中rownum对应值更新到tb中num中
update tb set num=(select tb1.rownum from tb1 where tb.name = tb1.name);
//判断表tb1的存在并删除表
drop table if exists tb1;
在postgresql中,循环设置已存在的某列(num)值为0-9,可以用以下方法:
//将表tb按name排序,利用row_number() over()查询序号并将该列命名为rownum,创建新表tb1并将结果保存到该表中
create table tb1 as (select *, row_number() over(order by name) as rownum from tb);
//根据两张表共同的字段name,将tb1中rownum对应值更新到tb中num中,由于为0-9循环自增,则%10
update tb set num=(select tb1.rownum from tb1 where tb.name = tb1.name) % 10;
//判断表tb1的存在并删除表
drop table if exists tb1;
do $$
declare
v_idx integer :=0;
begin
while v_idx < 10 loop
update tb set num = v_idx;
v_idx = v_idx + 1;
end loop;
end $$;
其它:附录一个postgresql循环的写法(与上文无关)
补充:设置主键
alter table 表明 add primary key (字段名) ;
pgsql设置字段自增相关推荐
- pgsql设置字段id自增
表已经建好后设置字段自增: CREATE SEQUENCE user_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE ...
- MySQL设置字段从指定数字自增,比如10000
MySQL设置字段从指定数字自增,比如10000. 方式一 方式二 方式一 此时就解决了MySQL从指定数字进行自增 CREATE TABLE hyxxb(hyid INT AUTO_INCREMEN ...
- hive导数据到mysql 自增主键出错_老大问我:“建表为啥还设置个自增 id ?用流水号当主键不正好么?”...
前言"又要开始新项目了,一顿操作猛如虎,梳理流程加画图.这不,开始对流程及表结构了.我:吧啦吧啦吧啦 --老大:这个建表为啥还设置个自增 id ?直接用流水号(用户号/产品号)当主键不就行 ...
- 两个datatable合并 主键一样覆盖_MySQL 建表为啥还设置个自增 id ?用流水号当主键不正好么?...
又要开始新项目了,一顿操作猛如虎,梳理流程加画图.这不,开始对流程及表结构了. 我:吧啦吧啦吧啦 -- 老大:这个建表为啥还设置个自增 id ?直接用流水号(用户号/产品号)当主键不就行了? 我:这个 ...
- JPA学习笔记---JPA实体Bean的建立---链接上一个博文:对实体Bean中属性进行操作:保存日期类型,设置字段的长度,名字,是否为空,可以声明枚举字段;可以存放二进制数据,可以存放
3.给上述生成的那个name字段:更改数据库中的字段名,是否为空,字段长度的设定,只需要 在Person.java文件中,加上 @Column(length=10,nullable=false,n ...
- sql server 数据库 设置id 自增
目录 一,建表时设置 1.1 建表时 1.1.1 通过可视化设置数据表主键自增 1.1.2 通过SQL语句 创建自增 二,建表后设置 问题分析: 问题解决: SQL server 设置列自增长 一,建 ...
- Navicat设置字段类型
Navicat设置字段类型 Navicat这个工具,使用非常方便. 我们经常遇到修改数据库的字段类型,很多时候会报错,如下 意思是:数据表里面的数据太长,设置的字段类型不合理. 大多的错误,是由于该数 ...
- finereport字段显示设置_QA | 表单如何设置字段显示逻辑?
Hi,大家好!表姐又来给大家答疑解惑啦!这一期的Q&A我们来聊聊表单如何设置字段显示逻辑. 字段显示逻辑是什么? 字段显示逻辑是指根据设定字段条件,显示或隐藏特定的字段,可以实现选择不同内容, ...
- oracle使一个字段自增,Oracle数据库实现一个字段自增
对于SQL SERVER数据库实现字段自增比较简单,可以之间使用函数:identity(),例如我们在建表时可以这样实现: create table tbRentInfo( sID int ident ...
最新文章
- 新年新气象,该换一波壁纸了!
- jQuery中选择器加尖括号的区别
- 下一个更大元素 leetcode-496
- windows上的python能否在unix上使用_怎么用python在Windows系统下,生成UNIX格式文件
- mysql 修复表和优化表
- fms +fme 视频直播
- 能源行业将被重构,大数据有哪些“挖”法?
- delphi2010:按键 控制键 组合键的判断 响应
- Eclipse编译项目内存溢出,修改配置
- win10怎么进入修复计算机,win10开不了机的修复方法步骤
- 如何解决笔记本键盘突然失灵的问题
- 微星主板前置音频接口的连接说明
- NVMe Driver 需要装吗_厨房里的油烟很少,需要装油烟净化器吗?装哪种的比较好?...
- UOS主动安全防护计划(UAPP)正式发布,共建信创基础软件平台安全底座
- 有序边表算法----计算机图形学
- 解密库尔勒可靠性检测
- 【云原生之Docker实战】使用Docker部署MrDoc个人在线文档系统
- rovisional headers are shown Learn more 报错
- 51、【网工必备】两种常见网络拓扑图介绍,一看就会
- java异常在控制台和日志里面的打印记录