La déclaration que vous avez publiée n'est pas du tout une syntaxe valide :
SQL Fiddle
Pour changer le type dans MySQL, vous utiliseriez CHANGE ou MODIFY .
Pour changer la valeur par défaut, vous utiliseriez DROP DEFAULT ou SET DEFAULT NULL .
Si l'intention était de changer le type et de réinitialiser la valeur par défaut de la colonne :
Comme dans MySQL
, vous pouvez regrouper plusieurs actions dans un seul ALTER TABLE déclaration dans Postgres
.
ALTER TABLE lcr_gw ALTER COLUMN ip_addr SET DEFAULT NULL
,ALTER COLUMN ip_addr TYPE VARCHAR(50);
Mais s'il y avait un DEFAULT sur la colonne incompatible avec le nouveau type, vous devez exécuter deux instructions distinctes :
ALTER TABLE lcr_gw ALTER COLUMN ip_addr SET DEFAULT NULL;
ALTER TABLE lcr_gw ALTER COLUMN ip_addr TYPE VARCHAR(50);
Peu importe dans ce cas de toute façon.