Cambiar el tipo de columna y establecer no nulo

96

¿Cómo se cambia el tipo de columna y también se configura esa columna en not nullconjunto?

Estoy intentando:

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

Esto devuelve un error.

¿Cuál es la sintaxis correcta?

Oto Shavadze
fuente
2
Hey ¿por qué no echar un vistazo al manual: postgresql.org/docs/9.2/static/sql-altertable.html
mechanical_meat
Es decir, juntos (en una consulta), ¿no es posible hacer estas dos cosas?
Oto Shavadze

Respuestas:

187

Esto debería ser correcto:

ALTER TABLE mytable
    ALTER COLUMN col TYPE character varying(15),
    ALTER COLUMN col SET NOT NULL
Federico Razzoli
fuente
¿Hay alguna forma de aplicar el valor predeterminado para las celdas que tienen un valor nulo a la vez?
Eugen Konkov