免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2017 | 回复: 2
打印 上一主题 下一主题

看看这个 sql 急死我了 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-06 14:54 |只看该作者 |倒序浏览
db2 => alter table user_login alter column user_login_id generated always as ide
ntity (start with 100 increment by 1)

我想更改某列的 默认值,使其为从100自增的。用这个sql,不对,应该怎么写啊

论坛徽章:
0
2 [报告]
发表于 2005-11-06 21:07 |只看该作者
这一列原来是怎么定义的?
DB2对于很多类型是不允许修改的,我印象中除了可以更改表中的约束,对于列的修改只有两种:
1.  添加一个新的列;
2.  把字符串类型的列的宽度增加。
其它的类型都无法修改。

所以,恐怕你需要把这张表删除重建了。

论坛徽章:
0
3 [报告]
发表于 2005-11-06 22:59 |只看该作者
原帖由 together 于 2005-11-6 14:54 发表
db2 => alter table user_login alter column user_login_id generated always as ide
ntity (start with 100 increment by 1)

我想更改某列的 默认值,使其为从100自增的。用这个sql,不对,应该怎么写啊


是新表吗?

如果是新表,何不重建!

如果不是新表,新增加的识别字段值只能是用表达式算出来的,且增加顺序是:


  1. 1、SET INTEGRITY FOR user_login OFF;
  2. 2、alter table user_login add column user_login_id generated always as ( EXPRESSION );
  3. 3、SET INTEGRITY FOR user_login IMMEDIATE CHECKED FORCE GENERATED ;
复制代码


看来,如球兄所说,您只能重建了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP