问题描述
- DB2 中如何将表中数据复制一份,改变表中一个联合主键的值,
-
如下:
表A有3个字段是联合主键(非自增长)
create table A
(
a VARCHAR(20) not null,
b VARCHAR(100) not null,
c VARCHAR(10) not null,
constraint P_Key_1 primary key (a, b, c)
);表中数据:
a b c
1 2 0
1 3 0
如何将表中数据复制一份,改变表中一个联合主键的值,将字段"c"改为1
要求结果如下:
a b c
1 2 0
1 3 0
1 2 1
1 3 1
解决方案
问题已解决:
方法一:
INSERT INTO A(a,b,c)
SELECT a,b,'1'
FROM
A;
方法二:
--复制表结构
create table A as (select * from A) definition only;
--插入数据
insert into A_new
(select * from A);
UPDATE A_new SET c='1';
insert into A (select * from A_new);
DROP TABLE A_new;
解决方案二:
DB2 有数据的表新建(修改)自增长主键
解决方案三:
编程是一种美德,是促使一个人不断向上发展的一种原动力。
解决方案四:
编程是一种美德,是促使一个人不断向上发展的一种原动力。
时间: 2024-08-07 19:54:43