如何在PostgreSQL表中更改列的数据类型?


102

在PostgreSQL交互式终端中输入以下命令会导致错误:

ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11);

更改列的数据类型的正确命令是什么?

Answers:


169

在此处查看文档:http : //www.postgresql.org/docs/current/interactive/sql-altertable.html

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

28
对于某些其他情况,您可能需要指定投射方式ALTER TABLE tbl_name ALTER COLUMN col_name TYPE integer USING col_name::integer;
Nobu 2014年

3
@Nobu为什么我们必须这样做some cases?这些情况是什么?
Darth.Vader

2
@ Darth.Vader,当列中已经存在无法自动转换的数据时,您可能需要执行此操作。
乔纳森·波特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.