# Knex.js事務的用法
在數據庫操作中,事務(Transaction)用于保證一組操作的原子性。Knex.js提供了簡潔的API來實現事務管理,確保操作要么全部成功,要么全部回滾。
## 基本用法
通過`knex.transaction`方法創建事務,回調函數接收事務對象`trx`:
```javascript
knex.transaction(trx => {
return trx('users').insert({name: 'Alice'})
.then(() => trx('accounts').update({balance: 100}))
}).then(() => console.log('事務成功'))
.catch(err => console.error('事務回滾', err))
const trx = await knex.transaction()
try {
await trx('table').insert(data)
await trx.commit()
} catch (err) {
await trx.rollback()
}
Knex支持事務嵌套,子事務會繼承父事務的上下文。
事務是保證數據一致性的重要機制,合理使用能有效避免部分更新導致的數據不一致問題。 “`
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。