有一种类型:
create type public.my_custom_type as
(
some_field int,
some_another_field text
);
不是在最后添加一个新字段,而是在这两个字段之间添加一个新字段有什么技巧吗?
就像是:
alter type public.my_custom_type add attribute new_field int after some_field;
word 上有一个语法错误after
,显然只适用于枚举。如果after
一切正常,但新字段会添加到末尾。
删除和重新创建是有问题的,因为基地的地板将在级联中从我身上删除。
一些 DBMS (EMNIP, MySQL ) 允许您使用如下语法在表的非终端位置插入列
可惜, PostgreSQL不适用于它们:既不适用于表列,也不适用于类型属性。
总的来说,他想出了这样一个集体农场:
我删除了我需要的位置之后的所有字段。接下来,我插入我的字段,然后返回已删除的字段:
结果,新字段位于我需要的位置。
丑陋,但我不知道怎么回事。