加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 15:49:38 所属栏目:百科 来源:网络整理
导读:如何通过创建临时表来克隆或复制PostgreSQL中相同表中的记录. 尝试使用更改的名称(在该表中基本上是复合键)创建从一个表到同一个表的记录克隆. 解决方法 您可以在一个INSERT和SELECT中一起完成所有操作. 即假设你有以下表格定义和填充的数据: create table
如何通过创建临时表来克隆或复制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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读