Ich habe versucht, eine Spalte zu Integer-Typ mit den folgenden Abfrage Postgres zu ändern.Nicht in der Lage, Spalte zu Integer oder Boolean in Postgres zu ändern
alter table pm_user alter column testing2 type integer using testing2::integer;
pm_user - Tabellenname
testing2 - Spaltenname
Die obige Säule würde jede Art von Datentyp zB sein: boolean, text, varchar (256).
Es gibt Fehler als 'Fehler: ungültige Eingabesyntax für Integer: "NULL"' Ich habe versucht, Lösungen wie unten basierend auf den vorherigen Abfragen auf dieser Website, aber es funktioniert nicht für mich.
alter table pm_user alter column testing2 type integer using (testing2::integer);
alter table pm_user alter column testing2 type integer;
alter table pm_user alter column testing2 type numeric using (testing2::numeric);
alter table pm_user alter column testing2 type numeric (10,2);
Was ist das eigentliche Problem? Wo es Punkte als Null eingeben? welcher wird als null genommen? Welche Lösung kann ich anbieten? Die gleiche Abfrage funktioniert, wenn ich versuche, als
alter table pm_user alter column testing2 type text using testing2::text;
alter table pm_user alter column testing2 type varchar(256)using testing2::varchar(256);
zu ändern. Es funktioniert auch nicht für boolean.
Ich muss den Standardwert für Integer-Spalte als 0 nach dem Ändern von Datentyp auf Integer festlegen. Zu diesem Zweck habe ich die Abfrage "alter table pm_user alter column test2 set default 0;" Die obige Funktionalität wird benötigt, um den Datentyp der Spalte dynamisch über die Anwendung für die Anforderung zu ändern. –