【问题标题】:How upsert() works on multiple keys ? [Sequelise]upsert() 如何在多个键上工作? [续集]
【发布时间】:2021-01-07 15:48:37
【问题描述】:

假设我有一个模型:

const Player = db.define('player', {
  // The primary key of the table.
  playerId: {
    type: DataTypes.INTEGER(11),
    primaryKey: true,
  },

  playerName: DataTypes.STRING(11),

  teamId: {
    type: Sequelize.STRING(32),
    allowNull: false,
    references: {
      model: 'team',
      key: 'teamId',
    }
  },

  managerId: {
    type: Sequelize.STRING(32),
    allowNull: true,
    references: {
      model: 'manager',
      key: 'managerId',
    }
  },

});

如果我这样做

Player.upsert(
  {
    teamId: p.teamId,
    managerId: p.managerId,
    playerName: p.name
  }
)

是否会创建新播放器或更新具有相同teamIdmanagerId 的现有播放器?
我如何知道upsert 查找哪些值以检查条目是否已存在?它只查找primaryKey,所有foreignKeys 吗?

【问题讨论】:

    标签: mysql node.js sequelize.js upsert


    【解决方案1】:

    它像许多 DBMS 中的类似 SQL 命令一样查找主键值。 所有其他字段可能相同,但 PK 被设计为是唯一的以区分一条记录。

    【讨论】:

      猜你喜欢
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 2020-12-01
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多