postgresql修改列类型

匿名 (未验证) 提交于 2019-12-03 00:32:02

习惯了Oracle中:

ALTER TABLE 表名 ALTER COLUMN 列名 新的数据类型[(长度)] NULL或NOT NULL 

这种修改方式的时候,在pg中:

highgo=# create table p1 (id int,pswd varchar(30),time timestamp); CREATE TABLE highgo=# insert into p1 select generate_series(1,500000),md5('random()::text'),clock_timestamp(); 错误:  对于可变字符类型来说,值太长了(30)
会发现无法添加成功呢? 

我们来看一下pg中的语法:

highgo=# \h auto where action is one of:       ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ]     DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ]     ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]     ALTER [ COLUMN ] column_name SET DEFAULT expression

成功!



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!