当前位置:  开发笔记 > 数据库 > 正文

如何使用PostgreSQL序列更新SQL中的唯一值?

如何解决《如何使用PostgreSQL序列更新SQL中的唯一值?》经验,为你挑选了1个好方法。

在SQL中,如何更新表,将列设置为每行的不同值?

我想更新PostgreSQL数据库中的某些行,将一列设置为序列中的数字,其中该列具有唯一约束.我希望我可以使用:

update person set unique_number = (select nextval('number_sequence') );

但似乎nextval只被调用一次,所以更新对每一行使用相同的数字,并且我得到'重复键违反唯一约束'错误.我该怎么做呢?



1> Grey Panther..:

不要使用subselect,而是直接使用nextval函数,如下所示:

update person set unique_number = nextval('number_sequence');

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有