更改列类型并设置非空

如何更改列类型并将该列同时设置为 not null

我在努力:

ALTER TABLE mytable ALTER COLUMN col TYPE character varying(15) SET NOT NULL

这将返回一个错误。

正确的语法是什么?

79942 次浏览

这应该是正确的:

ALTER TABLE mytable
ALTER COLUMN col TYPE character varying(15),
ALTER COLUMN col SET NOT NULL

另外,如果您想在 postgreql 中使用 移开 NOT NULL 约束:

ALTER TABLE mytable
ALTER COLUMN email DROP NOT NULL;