在SQL中,如何更新表,将列设置为每行的不同值?
我想更新PostgreSQL数据库中的某些行,将一列设置为序列中的数字,其中该列具有唯一约束.我希望我可以使用:
update person set unique_number = (select nextval('number_sequence') );
但似乎nextval只被调用一次,所以更新对每一行使用相同的数字,并且我得到'重复键违反唯一约束'错误.我该怎么做呢?
不要使用subselect,而是直接使用nextval函数,如下所示:
update person set unique_number = nextval('number_sequence');