knex insert and on duplicate key update & increment
npm install knex-increment-upsert
- knex >=
v0.95.0
const { incrementUpsert } = require('knex-increment-upsert');
const knex = require('knex');
const db = knex({ ... });
// Outputs:
// insert into `table1` (`inc1`, `pk1`, `pk2`) values (3, 'pk1', 'pk2') on duplicate key update `inc1` = `inc1` + values(`inc1`)
incrementUpsert(
db,
'table1',
{
pk1: 'pk1',
pk2: 'pk2',
inc1: 3,
},
[ 'inc1' ]
);
// Outputs:
// insert into `table1` (`col1`, `inc1`, `pk1`, `pk2`) values ('1', 1, '1', '1'), ('2', 2, '2', '2') on duplicate key update `inc1` = `inc1` + values(`inc1`),`col1` = values(`col1`)
incrementUpsert(
db,
'table1',
[
{
pk1: '1',
pk2: '1',
inc1: 1,
col1: '1'
},
{
pk1: '2',
pk2: '2',
inc1: 2,
col1: '2'
}
],
[ 'inc1' ],
[ 'col1' ]
);
- Github: @a179346
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!
Copyright © 2021 a179346.
This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator