【问题标题】:FOR SHARE and FOR UPDATE statements in SequelizeSequelize 中的 FOR SHARE 和 FOR UPDATE 语句
【发布时间】:2019-08-22 11:04:17
【问题描述】:

当我们使用事务时,常规 SQL 查询可以包含“SELECT FOR SHARE”和“SELECT FOR UPDATE”语句。

有没有办法用 Sequelize 设置相同的语句?我还没有找到这些选项。会不会有什么技巧?

需要什么,可以看这里https://dev.mysql.com/doc/refman/8.0/en/innodb-locking-reads.html#locking-read-examples

【问题讨论】:

    标签: javascript mysql sql sequelize.js


    【解决方案1】:

    我发现了一点。在 Sequelize.j 中,当我们使用 findAll 和 findOne 时,我们可以传递一个“锁定”选项。例如:

    User.findAll({
       lock: transaction.LOCK.UPDATE // or SHARE, KEY_SHARE, NO_KEY_UPDATE
    })
    

    但是 sequelize.js 使用“LOCK_IN_SHARE_MODE”语句而不是“FOR SHARE”语句。大多数情况下它们是相同的。

    KEY_SHARENO_KEY_UPDATE 仅用于 PostgreSQL。

    【讨论】:

      猜你喜欢
      • 2021-12-24
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 2018-07-31
      • 2015-07-24
      相关资源
      最近更新 更多