首页 > 解决方案 > sequelize postgress bulk insert 如果存在则忽略

问题描述

我有以下代码

await tbl.bulkCreate(response.data, {
                                ignoreDuplicates: true
                            });

在 response.data 中有对象数组。

我期望它应该检查所有发现重复的字段不要插入,如果 Id 存在,我认为它的工作方式忽略

我认为这个 ignoreDuplicates 不起作用,因为 id 字段对于新记录来说总是新的

无论如何我可以说检查某些字段是否存在不插入否则插入

谢谢

标签: node.jspostgresqlormsequelize.js

解决方案


忽略主键的重复值?(MSSQL 或 Postgres < 9.5 不支持)检查您的 postgres 版本,或者您可以使用

{updateOnDuplicate : true}

尝试使用复合键

queryInterface.addConstraint('Items', ['col1', 'col2'], {
  type: 'unique',
  name: 'custom_unique_constraint_name'
});

推荐阅读