更改列类型并设置非空

OTA*_*TAR 69 postgresql

如何更改列类型并将该列设置为not null一起?

我在尝试:

ALTER TABLE mytable ALTER COLUMN col TYPE character varying(15) SET NOT NULL
Run Code Online (Sandbox Code Playgroud)

这会返回错误.

什么是正确的语法?

Fed*_*oli 140

这应该是正确的:

ALTER TABLE mytable
    ALTER COLUMN col TYPE character varying(15),
    ALTER COLUMN col SET NOT NULL
Run Code Online (Sandbox Code Playgroud)

  • 反面在这里/sf/ask/336905341/ (5认同)
  • @EugenKonkov 超出了我的想象,`UPDATE mytable SET col = <默认值> WHERE col IS NULL` (3认同)
  • 有没有办法立即为具有空值的单元格应用默认值? (2认同)

小智 13

另外,如果你想在 postgresql 中删除NOT NULL 约束:

ALTER TABLE mytable 
    ALTER COLUMN email DROP NOT NULL;
Run Code Online (Sandbox Code Playgroud)

  • 这并不能回答问题。 (9认同)