Wie ändere ich den Datentyp einer Spalte in einer PostgreSQL-Tabelle?


102

Die Eingabe des folgenden Befehls in ein interaktives PostgreSQL-Terminal führt zu einem Fehler:

ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11);

Was ist der richtige Befehl, um den Datentyp einer Spalte zu ändern?

Antworten:


167

Siehe Dokumentation hier: http://www.postgresql.org/docs/current/interactive/sql-altertable.html

ALTER TABLE tbl_name ALTER COLUMN col_name TYPE varchar (11);

27
In einigen anderen Fällen müssen Sie möglicherweise die Art der Besetzung angeben, wieALTER TABLE tbl_name ALTER COLUMN col_name TYPE integer USING col_name::integer;
Nobu

3
@Nobu warum müssen wir das machen some casesund was sind diese Fälle?
Darth.Vader

2
@ Darth.Vader Möglicherweise müssen Sie dies tun, wenn in der Spalte bereits Daten vorhanden sind, die nicht automatisch umgewandelt werden können.
Jonathan Porter
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.