Kokizzu Asked: 2016-04-16 05:23:35 +0800 CST2016-04-16 05:23:35 +0800 CST 2016-04-16 05:23:35 +0800 CST 在 PostgreSQL 中从 SELECT 创建 INSERT INTO 772 如何创建INSERT INTO语句,使用SELECT语句?我需要它是因为我想从表中删除 10k 条记录,但如果有一天需要恢复其中的一些记录,我想轻松地做到这一点。我不想备份整个表,因为我只需要恢复一些已删除的行。 postgresql-9.5 2 个回答 Voted Luciano Andress Martini 2016-04-16T11:23:19+08:002016-04-16T11:23:19+08:00 如果您确实需要使用查询的插入语句: select 'INSERT INTO table values ('||bla_integer||', '''||bla_string||''')' from thetable; Where bla_string and bla_integer are example columns from thetable... Best Answer a_horse_with_no_name 2016-04-16T05:30:25+08:002016-04-16T05:30:25+08:00 您可以使用pg_dump该--inserts选项。您还应该查看 SQL 客户端的手册。有些可以将数据导出为INSERT语句。 另一种选择是将删除的行复制到新表中: create table _backup as with deleted as ( delete from the_table where .... --<< put your condition here returning * ) select * from deleted; 以上将删除行the_table并将所有被删除的行复制到表中_backup
如果您确实需要使用查询的插入语句:
您可以使用
pg_dump
该--inserts
选项。您还应该查看 SQL 客户端的手册。有些可以将数据导出为INSERT
语句。另一种选择是将删除的行复制到新表中:
以上将删除行
the_table
并将所有被删除的行复制到表中_backup