2013-04-24 56 views
25

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

我想:

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

这将返回一个错误。

什么是正确的语法?

+1

嘿,为什么不看看手册:http://www.postgresql.org/docs/9.2/static/sql-altertable.html – bernie 2013-04-24 16:26:06

+0

这是一起(在一个查询中)不可能做出这两件事? – RIKI 2013-04-24 16:30:24

回答

52

这应该是正确的:

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

不,这个语法也返回错误 – RIKI 2013-04-24 16:45:39

+1

我没有在这台电脑上安装PostgreSQL,如果你写的错误信息帮助你更容易... – 2013-04-24 16:47:07

+1

woops,我想我在字符变化后忘了逗号(15) – 2013-04-24 16:48:32

相关问题