Изявлението, което публикувахте, изобщо не е валиден синтаксис :
SQL Fiddle
За да промените типа в MySQL, ще използвате CHANGE
или MODIFY
.
За да промените настройката по подразбиране, ще използвате DROP DEFAULT
или SET DEFAULT NULL
.
Ако намерението беше да се промени типа и да се нулира колоната по подразбиране:
Като в MySQL
, можете да опаковате множество действия в едно ALTER TABLEкод> израз в Postgres
.
ALTER TABLE lcr_gw ALTER COLUMN ip_addr SET DEFAULT NULL
,ALTER COLUMN ip_addr TYPE VARCHAR(50);
Но ако имаше DEFAULT
в колоната, която е несъвместима с новия тип, трябва да изпълните два отделни оператора:
ALTER TABLE lcr_gw ALTER COLUMN ip_addr SET DEFAULT NULL;
ALTER TABLE lcr_gw ALTER COLUMN ip_addr TYPE VARCHAR(50);
Така или иначе няма значение в този случай.