Vyjádření, které jste zveřejnili, vůbec není platná syntaxe :
SQL Fiddle
Pro změnu typu v MySQL byste použili CHANGE
nebo MODIFY
.
Pro změnu výchozího nastavení byste použili DROP DEFAULT
nebo SET DEFAULT NULL
.
Pokud záměrem bylo změnit typ a obnovit výchozí hodnotu sloupce:
Jako v MySQL
, můžete sbalit více akcí do jednoho ALTER TABLE
prohlášení v Postgres
.
ALTER TABLE lcr_gw ALTER COLUMN ip_addr SET DEFAULT NULL
,ALTER COLUMN ip_addr TYPE VARCHAR(50);
Ale pokud tam byl DEFAULT
na sloupci, který není kompatibilní s novým typem, musíte spustit dva samostatné příkazy:
ALTER TABLE lcr_gw ALTER COLUMN ip_addr SET DEFAULT NULL;
ALTER TABLE lcr_gw ALTER COLUMN ip_addr TYPE VARCHAR(50);
V tomto případě na tom stejně nezáleží.