账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Sequelize中复合键怎么定义?
    24
    0
    //表1: 
    {
     name: 'A',
     age: 10
    }
    //表2:
    [{
     id:1,
     name:'A', // 这里引用了表1的name字段
     book:'xxx'
    },
    {
     id:2,
     name:'A',
     book:'xxx'
    }]

    name Abook都会存在表2里,类似这样的表结构,该如何处理呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在 Sequelize 中,复合键可以定义为多个字段的组合。这些字段可以是同一个模型中的字段,也可以是两个不同的模型中的字段。

      下面是一个复合键的定义示例:

      javascript const Product = sequelize.define('Product', { id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true, }, name: { type: Sequelize.STRING, allowNull: false, }, price: { type: Sequelize.FLOAT, allowNull: false, }, categories: { type: Sequelize.STRING, allowNull: false, references: [Category], }, }, { timestamps: false, });

      在这个例子中,Product 表中有四个字段:idnamepricecategoriescategories 字段是一个复合键,它包含了 Product 表中的 idcategories 字段。因此,复合键的 id 字段是主键,name 字段和 categories 字段都是外键,引用了 Category 表。

      需要注意的是,复合键的 type 参数应该设置为 Sequelize.StringSequelize.INTEGER,以便正确地生成复合键的值。如果 type 参数设置为 Sequelize.String,那么复合键的值将是一个字符串,而不是一个整数。如果 type 参数设置为 Sequelize.INTEGER,那么复合键的值将是一个整数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部