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?


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

¿Hay alguna forma de aplicar el valor predeterminado para las celdas que tienen un valor nulo a la vez?
Eugen Konkov
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.