Mysql
 sql >> Base de données >  >> RDS >> Mysql

conversion de scripts mysql en script postgresql

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);

Par documentation :

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.