db2 怎么插入有自增长字段的表
1个回答
2015-03-21
展开全部
可以通过工具获得其DML如下:
CREATE TABLE RTTS.T1(CUSTOMER_ID CHAR(20) NOT NULL, PRODUCT_ID INTEGER NOT NULL);
接下来,要创建一个类似的表,但要多增加一个自增的ID字段,建表语句如下:
CREATE TABLE RTTS.T2(id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY(START WITH 1,INCREMENT BY 1,NO CACHE) PRIMARY KEY,CUSTOMER_ID CHAR(20) NOT NULL, PRODUCT_ID INTEGER NOT NULL);
注意id这个字段不一定非要是主键,更可以换成别的名。你完全可以根据自己情况调整的。
再接下来,需要把原有表的数据导入到新表里,采用如下语句:
INSERT INTO RTTS.T2(CUSTOMER_ID,PRODUCT_ID) SELECT CUSTOMER_ID,PRODUCT_ID FROM RTTS.T1;
然后,删除掉原来的表(为安全起见,可以改名,待新表数据确认无误再删除):
drop table RTTS.T1
再将新表改名:
RENAME TABLE "RTTS"."T2" TO "T1"
最后看一眼“新的”T1表!
CREATE TABLE RTTS.T1(CUSTOMER_ID CHAR(20) NOT NULL, PRODUCT_ID INTEGER NOT NULL);
接下来,要创建一个类似的表,但要多增加一个自增的ID字段,建表语句如下:
CREATE TABLE RTTS.T2(id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY(START WITH 1,INCREMENT BY 1,NO CACHE) PRIMARY KEY,CUSTOMER_ID CHAR(20) NOT NULL, PRODUCT_ID INTEGER NOT NULL);
注意id这个字段不一定非要是主键,更可以换成别的名。你完全可以根据自己情况调整的。
再接下来,需要把原有表的数据导入到新表里,采用如下语句:
INSERT INTO RTTS.T2(CUSTOMER_ID,PRODUCT_ID) SELECT CUSTOMER_ID,PRODUCT_ID FROM RTTS.T1;
然后,删除掉原来的表(为安全起见,可以改名,待新表数据确认无误再删除):
drop table RTTS.T1
再将新表改名:
RENAME TABLE "RTTS"."T2" TO "T1"
最后看一眼“新的”T1表!
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询