Как изменить тип данных столбца в таблице PostgreSQL?
Ввод следующей команды в интерактивный терминал PostgreSQL приводит к ошибке:
ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11);
Какова правильная команда для изменения типа данных столбца?
4 ответа
См. Документацию здесь: http://www.postgresql.org/docs/current/interactive/sql-altertable.html
ALTER TABLE tbl_name ALTER COLUMN col_name TYPE varchar (11);
Если данные уже существуют в столбце, вам следует сделать:
ALTER TABLE tbl_name ALTER COLUMN col_name TYPE integer USING col_name::integer;
Как указано @nobu и @ jonathan-porter в комментариях к ответу @ derek-kromm.
Cool @derek-kromm, Ваш ответ принят и правильный, но мне интересно, нужно ли нам
alter
больше, чем столбец. Вот как мы можем это сделать.
ALTER TABLE tbl_name
ALTER COLUMN col_name TYPE varchar (11),
ALTER COLUMN col_name2 TYPE varchar (11),
ALTER COLUMN col_name3 TYPE varchar (11);
Ваше здоровье!! Читать просто Написать просто
Я работал с pgAdmin4 и использовал postgres 10, я наткнулся на изменение таблицы, но с ошибкой:
sql state 42703
Я уже пробовал применять приведенные выше советы, но безрезультатно.
Мой запрос был:
ALTER TABLE BillingPayments
ALTER COLUMN referenceNumber TYPE VARCHAR;
Итак, чтобы исправить эту проблему, я использовал этот запрос:
ALTER TABLE public."BillingPayments"
ALTER COLUMN "referenceNumber: TYPE VARCHAR;