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.