Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

convertendo scripts mysql para script postgresql


A declaração que você postou não é uma sintaxe válida :
SQL Fiddle

Para alterar o tipo no MySQL, você usaria CHANGE ou MODIFICAR .
Para alterar o padrão, você usaria DROP DEFAULT ou SET DEFAULT NULL .

Se a intenção era mudar o tipo e redefinir o padrão da coluna:

Como no MySQL , você pode empacotar várias ações em um único ALTER TABLE declaração no Postgres .
ALTER TABLE lcr_gw ALTER COLUMN ip_addr SET DEFAULT NULL
                  ,ALTER COLUMN ip_addr TYPE VARCHAR(50);

Por documentação:

Mas se houvesse um DEFAULT na coluna que é incompatível com o novo tipo, você deve executar duas instruções separadas:
ALTER TABLE lcr_gw ALTER COLUMN ip_addr SET DEFAULT NULL;
ALTER TABLE lcr_gw ALTER COLUMN ip_addr TYPE VARCHAR(50);

Não importa neste caso de qualquer maneira.