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.