LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1008|回复: 8

请教大家一个postgresql的问题

[复制链接]
发表于 2003-12-14 16:20:50 | 显示全部楼层 |阅读模式
我建了一个表,有一个字段是email,类型varchar(20),后来发现长度不够,能不能把类型值更改呢?我暂时没有找到。我想重建一个字段new_email,varchar(40)来储存email中输入的记录,但不知道怎么把一个字段的记录值复制到另一个字段。向众位请教啦
发表于 2003-12-17 06:26:47 | 显示全部楼层
我也有这样的问题,查了很多资料,仔细读了PostgreSQL的说明也没有找到答案,估计是没有办法了
发表于 2003-12-17 23:27:44 | 显示全部楼层
psql mydb
copy table1_name to '/tmp/tmp';
copy table2_name from '/tmp/tmp';
发表于 2003-12-18 06:43:55 | 显示全部楼层
昨天问了一下"ostgreSQL中文网站"的站长laser,他说只有把表的记录备份后删除再重建
 楼主| 发表于 2003-12-18 09:52:51 | 显示全部楼层
如果是那样的话是够麻烦的!
发表于 2003-12-21 17:53:10 | 显示全部楼层

天哪,

站长给你的回答吗?????怀疑透顶了 ....
方法1,直接用alter 语句更改mail字段设置心的长度,
方法2,在你的基础上完成,
         将原mail字段内容填如new_mail
update tblname set new_mail = mail where "你要更新的记录范围条件"
Good Luck!
发表于 2003-12-21 18:03:29 | 显示全部楼层

回复: 天哪,

最初由 cnkart 发表
站长给你的回答吗?????怀疑透顶了 ....
方法1,直接用alter 语句更改mail字段设置心的长度,
方法2,在你的基础上完成,
         将原mail字段内容填如new_mail
update tblname set new_mail = mail where "你要更新的记录范围条件"
Good Luck!

我很奇怪噢!
方法1:请再PostgreSQL上用alter-SQL语句把字段长度改改试试,不知你是怎么作成功的
方法2: 提问者是想复制整个一个字段的所有记录内容到另一个字段,而不是改变一个字段的名称或者更新它的记录内容!
发表于 2003-12-25 15:45:20 | 显示全部楼层

非常简单

update table set column name1 = column name2
发表于 2003-12-25 20:44:39 | 显示全部楼层

回复: 非常简单

最初由 wxxszzz 发表
update table set column name1 = column name2


你这样只是把字段的名称改了,不管新的名称有多长,字段长度还是原样,字段长度和字段名称的长度有根本的区别

“update table set column name1 = column name2 ”?
  alter table set column name1 = column name2
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表