我知道唯一的解决方法是转储表,然后使用所需列的正确位置重新创建整个数据库。
但是问题在于,列之一是数据库中许多表的外键,因此无法删除整个表。我也不能删除任何列,因为外键列位于表的最后。请给我一个解决方案。
如果该问题重复,请给我正确答案的链接。
edit:为得到更多说明,我想使用insert命令添加行,问题是倒数第二个列的类型为serial。我的主要目的是在发出插入命令时不要触摸串行列
答案 0 :(得分:1)
您需要的只是一个自定义插入语句,
例如,
您的桌子看起来像这样
CREATE TABLE "public"."ada" (
"trandate" date,
"locname" text,
"totusers" integer,
"actusers" integer,
"datausage" integer,
"issues" integer,
"id" serial PRIMARY KEY,
"issuessolved" integer
);
并且insert语句可以写为
INSERT INTO "public"."ada"
("trandate"
,"locname"
,"totusers"
,"actusers"
,"datausage"
,"issues"
,"issuessolved")
VALUES
(<trandate, date>
,<locname, text>
,<totusers, integer>
,<actusers, integer>
,<datausage, integer>
,<issues, integer>
,<issuessolved, integer>);