【发布时间】:2011-11-02 00:53:33
【问题描述】:
在 PostgreSQL 交互式终端中输入以下命令会导致错误:
ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11);
更改列数据类型的正确命令是什么?
【问题讨论】:
标签: sql postgresql psql alter-table alter-column
在 PostgreSQL 交互式终端中输入以下命令会导致错误:
ALTER TABLE tbl_name ALTER COLUMN col_name varchar (11);
更改列数据类型的正确命令是什么?
【问题讨论】:
标签: sql postgresql psql alter-table alter-column
在此处查看文档: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;
some cases 中这样做?这些情况是什么?
如果列中已经存在数据,您应该这样做:
ALTER TABLE tbl_name ALTER COLUMN col_name TYPE integer USING col_name::integer;
正如 @nobu 和 @jonathan-porter 在 cmets 中对 @derek-kromm 的回答所指出的那样,有点神秘。
【讨论】:
酷@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);
干杯!!读简单写简单
【讨论】: