私の選択でレースの問題を防ぐために "更新用"を使用しています。あなたは、そのロックは、ロックを解放するために0に設定する必要があるis_lockedという単一の列を持つ "tableName_lock"というテーブルに保存されていることを言います。ロック解除テーブルforUpdateロック
私のテーブルはリクエストと呼ばれるので、 "requests_lock"というテーブルを作成し、is_lockedというカラムを作成しました。そのテーブルは私が更新のために使用すると決して更新されません。私はここに欠けているものはありますか?
bookshelf.knex.transaction(function(trx) {
var query = bookshelf.knex('requests').transacting(trx).forUpdate().select('requests.id', 'requests.CreatedTime').then(function (user_roles) {
console.log('user_friends: %j', user_roles);
}).then(trx.commit)
.catch(trx.rollback);
});