J'ai actuellement une base de données Postgres 8.4 contenant une colonne Varcharchar (10000). Je voudrais changer cela en un varchar (255) et tronquer toutes les données qui se produisent trop longtemps. Comment puis-je faire cela? P>
3 Réponses :
BEGIN; UPDATE table SET column = CAST(column as varchar(255)); ALTER TABLE table ALTER COLUMN column TYPE varchar(255); --not sure on this line. my memory is a bit sketchy COMMIT;
1) Mettez à jour les données de la colonne à l'aide d'une méthode de sous-chaîne pour le tronquer 2) puis modifier la colonne de table p> docs Ici http://www.postgresql.org/docs/8.4/stace /sql-altertable.html p> p>
Il semble que ce soit avec plus récent de PGSQL, ce serait: Mettre à jour T Définir Col = Substring (Col de 1 pour 255) ("pour" remplace "à")
quelque chose comme alter Table T alter col colonne C type Varcharchar (255) à l'aide de substruises (C, 1, 255) Code> P>