0

关于我的 postgresql 数据库中“id”字段的默认值,我有一个问题在我脑海中盘旋。这是语法:-

nextval('unsub_keyword_id_seq'::regclass)

但是,即使在阅读了文档之后我也不是很了解,我想仅为整数(仅限数字)设置值。我尝试通过将 regclass 更改为其他 OID 来更改列,但每次它都会返回错误。

如果能很快解决这个问题,我真的很感激。

更新:

在我尝试使用将为列生成 id 的代码出错之后,我才想到了列的数据类型。整数(在这种情况下为 postgresql)是否有自己的默认长度?如果我需要插入长ID,我应该设置列长吗?好心提醒。

对不起,如果我的问题很混乱。您的意见可能会帮助我改进它。

4

1 回答 1

1

从评论:

我需要插入一个长度为 50 的 id,由 2 个字母组成,其余的是数字。由于数据类型为整数且数据插入不成功,因此出现问题。是否可以通过将数据类型保留为整数来插入我想要的数据?

如果我理解正确,您可能需要格式化一个字符串,例如

format('%s%s', 'XX', nextval('some_sequence_name'))
于 2016-11-18T04:15:02.697 回答