您现在的位置是:首页 > 博客网站制作 > CSS3|Html5CSS3|Html5
在PostgreSQL中设置表中某列值自增或循环方式
杨青青2022-02-20【CSS3|Html5】人已围观
简介这篇文章主要介绍了在PostgreSQL中设置表中某列值自增或循环方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。在postgresql中,设置已存在的某列(num)值
这篇文章主要介绍了在PostgreSQL中设置表中某列值自增或循环方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。
在postgresql中,设置已存在的某列(num)值自增,可以用以下方法:
//将表tb按name排序,利用row_number()over()查询序号并将该列命名为rownum,创建新表tb1并将结果保存到该表中
createtabletb1as(select*,row_number()over(orderbyname)asrownumfromtb);
//根据两张表共同的字段name,将tb1中rownum对应值更新到tb中num中
updatetbsetnum=(selecttb1.rownumfromtb1wheretb.name=tb1.name);
//判断表tb1的存在并删除表
droptableifexiststb1;
在postgresql中,循环设置已存在的某列(num)值为0-9,可以用以下方法:
//将表tb按name排序,利用row_number()over()查询序号并将该列命名为rownum,创建新表tb1并将结果保存到该表中
createtabletb1as(select*,row_number()over(orderbyname)asrownumfromtb);
//根据两张表共同的字段name,将tb1中rownum对应值更新到tb中num中,由于为0-9循环自增,则%10
updatetbsetnum=(selecttb1.rownumfromtb1wheretb.name=tb1.name)%10;
//判断表tb1的存在并删除表
droptableifexiststb1;
其它:附录一个postgresql循环的写法(与上文无关)
do$$
declare
v_idxinteger:=0;
begin
whilev_idx<10loop
updatetbsetnum=v_idx;
v_idx=v_idx+1;
endloop;
end$$;
补充:postgreSQLSQL语句创建自增表
方法一:postgreSQL通过将字段类型设置为serial来将表设计为自增表
CREATETABLEt_achievement_directory(
idserial8PRIMARYKEY,
directory_namevarchar(255)COLLATE"pg_catalog"."default",
pidint8,
modify_timetimestamp(6)
)
;
方法二:GENERATEDBYALWAYSASIDENTITY或GENERATEDBYDEFAULTASIDENTITY
1idint8NOTNULLGENERATEDBYDEFAULTASIDENTITY
或
1idint8NOTNULLGENERATEDALWAYSASIDENTITY
这两种方式的区别在于:
generatedalwaysasidentity总是按照(STARTWITH1INCREMENTBY1)的方式插入数据,并维护索引。即不允许用户向id列指定数据插入。
但是generatedbydefaultasidentity则是在用户不指定id列值的情况下按照(STARTWITH10INCREMENTBY10)方式插入数据,如果用户指定,则依然按照指定的值插入。
Tags:
很赞哦! ()
相关文章
随机图文
css3背景(五)—background-origin
background-origin说明:background-origin 属性规定背景图片的定位区域。背景图片可以放置于 content-box、padding-box 或 border-box 区域。1)padding-box:从padding区域(含padding)开始显示背景图像。响应式纵向时间轴
这是一个简单的响应时间轴,交替的颜色标签,以及伸缩响应式的结构css3背景(四)—background-position
background-position 属性说明:设置或检索对象的背景图像位置。必须先指定background-image属性。默认值:0% 0%,效果等同于left top该属性提供2个参数值。鼠标放上去按钮高亮显示css3
鼠标放上去按钮高亮显示并且有文字提示,其他按钮则变暗。这个例子设置了opacity透明度的一个过渡的变化。