首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Derby DB修改列的'GENERATED‘表达式

问Derby DB修改列的'GENERATED‘表达式
EN

Stack Overflow用户
提问于 2012-12-15 03:38:00
回答 1查看 132关注 0票数 2

我正在尝试修改一个Derby数据库,它有一个如下所示的表:

代码语言:javascript
复制
CREATE TABLE sec_merch_categories (
category_id int NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
packageName VARCHAR(100) NOT NULL,
name VARCHAR(100) NOT NULL,
primary key(category_id)
);

我想要将category_id列更改为:

代码语言:javascript
复制
category_id int NOT NULL GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1),

我见过的惟一记录这一点的地方是IBM's DB2,它建议删除表达式,更改表的完整性,然后重新添加表达式。在Derby中有这样做的方式吗?

谢谢,

安德鲁

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-15 23:18:40

您可以使用所需的模式(但名称不同)创建一个新表,然后使用INSERT INTO ...选择...要将数据从旧表复制到新表(或卸载旧表并使用复制数据系统过程将其重新加载到新表中),然后使用RENAME table将旧表重命名为备用名称,并将新表重命名为其所需的名称。

而且,正如@a_horse_with_no_name在上面的注释中指出的,所有这些步骤都记录在@a_horse_with_no_name网站上的Derby文档中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13885204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档