webForumDet fria alternativet
Logga in / Bli medlem

Ändra datatyp (postgres)

Databaser & SQL

2 svar · 195 visningar · startad av bohlin

Medlem sedan mars 2000263 inlägg
Frågan#1

Har en kolumn som ja vill byta datatyp på. Från en INT4 till en FLOAT4. Jag har kollat lite i manualen men hittar inte något intressant. En lösning kan ju vara:
1. Skapa ny kolumn med rätt datatyp.
2. update tabell set nykolumn = oldkolumn
3. drop oldkolumn
4. rename new kolumn

Detta är funkar nog, men det finns säker något bättre sätt, eller?

Databasen är postgres.

Medlem sedan okt. 200153 inlägg
#2

vet inte om det hjälper,
men i oracle är det:
alter table table_namn modify (kolumn int(10));

Medlem sedan dec. 200012 464 inlägg
#3

Enligt den dokumentation som jag tittade på så går det inte att ta bort en kolumn utan att ta bort tabellen och sedan återskapa den. Enligt den så fanns det heller inget stöd för att byta datatyp på en kolumn.
http://www.postgresql.org/idocs/index.php?sql-altertable.html

246 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)