如何在一个过程中将现有 id 列更改为串行?邮政格雷斯



我有一个包含100多个表的数据库。在每个表中,我都有名为 id 的列(int8 NOT NULL),带有主键。我想更新整个数据库(所有列)以将此 id 类型更改为 SERIAL。

原因是插入数据时出现问题。我想知道如何编写一个程序,该程序将一次性更新所有表。

CREATE SEQUENCE tablename _fieldname_seq MAXVALUE 2147483647;
ALTER TABLE tablename ALTER COLUMN code_f TYPE INTEGER;
ALTER TABLE public.fournisseur ALTER COLUMN code_f SET DEFAULT nextval('public.fournisseur_code_f_seq'::text);

最新更新