首页 > 解决方案 > 如何复制不包括目标为空的值的行?

问题描述

如何编写 SQL 查询将所有列值从第 1 行复制到第 2 行,不包括第 2 行中为空的列?

id  oldNum  newNum  status     time
1   205     333    complete     2018-06-05 13:14:37
2   209     444     null        2018-06-05 13:14:37

预期的结果是

id  oldNum  newNum  status     time
1   205     333    complete     2018-06-05 13:14:37
2   205     333     null        2018-06-05 13:14:37

状态保持为空。

标签: javamysqlhibernate

解决方案


插入选择将是您正在寻找的

insert into your_table
select * from your_table where id=1
where id = 2

或保留该空值

INSERT INTO your_table (id,oldNum,newNum,time)
SELECT id,oldNum,NewNum,time FROM your_table where id=1
WHERE id=2;

推荐阅读