微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 如何在postgres中的同一个表中克隆或复制记录?

如何通过创建临时表来克隆或复制Postgresql中相同表中的记录.

尝试使用更改的名称(在该表中基本上是复合键)创建从一个表到同一个表的记录克隆.

解决方法

您可以在一个INSERT和SELECT中一起完成所有操作.

即假设你有以下表格定义和填充的数据:

create table original
(
  id serial,name text,location text
);

INSERT INTO original (name,location)
VALUES ('joe','London'),('james','Munich');

然后你可以在不使用TEMP TABLE的情况下INSERT执行你正在谈论的那种切换,如下所示:

INSERT INTO original (name,location)
SELECT 'john',location
FROM original
WHERE name = 'joe';

这是一个sqlfiddle.

这也应该更快(尽管对于微小的数据集在绝对时间方面可能不是很大),因为它只执行一个INSERT和SELECT而不是额外的SELECT和CREATE TABLE加上UPDATE.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐