postgresql - 有条件地从一个表插入到另一个表中
问题描述
同名可能出现在table1的多行中。我想按 1、2、... 的顺序枚举所有名称,这样做的一种方法是
- 创建具有
name
主键和id
类型serial
的新表。 - 仅在不存在时
name
选择并table1
插入table2
table1 (name vchar(50), ...)
table2 (name vchar(50) primary key, id serial)
insert into table2(name)
select name
from table1 limit 9
where not exists (select name from table2 where name = table1.name)
这行不通。如何解决?
解决方案
只需选择不同的值:
insert into table2(name)
select distinct name
from table1
order by name;
推荐阅读
- excel - 使用 VBA 将 Access 查询链接到 Excel
- google-apps-script - 测试谷歌工作表编辑器插件失败,错误 403
- python-3.x - 每 14 行对 Pandas DataFrame 中的行进行洗牌
- r - R错误:{中的错误:任务1失败-“参数长度为零
- javascript - 解析 json 字符串并且 json.stringify 无法正常工作时总是得到一个未定义的值
- wordpress - 在 ACF 字段中保存 WooCommerce OrderData
- spring - 在运行 Spring 之前编辑 application.properties 中的环境变量
- c - 进程的最小页表大小?
- javascript - 如何使命名空间和外部模块在打字稿旧项目中共同存在
- go - 如何找到 rr 和 fifo 的周转时间和响应时间以及有什么区别?