knex-increment-upsert
v1.3.0
Published
knex insert on duplicate key update & increment
Downloads
34
Maintainers
Readme
knex insert and on duplicate key update & increment
🔗 Link
📥 Install
npm install knex-increment-upsert
🧩 Requirements
- knex >=
v0.95.0
📖 Usage
incrementUpsert(db, tableName, data, incrementColumns?, updateColumns?, trx?)
=>Promise<number[]>
Single upsert
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' ]
);
Batch upsert
// 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' ]
);
🙋♂️ Author
- Github: @a179346
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page.
🌟 Show your support
Give a ⭐️ if this project helped you!
📝 License
Copyright © 2021 a179346. This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator