【问题标题】:Sequelize is returning id null instead of the real id when creating a registerSequelize 在创建寄存器时返回 id null 而不是真实的 id
【发布时间】:2022-02-16 01:44:08
【问题描述】:

当我尝试创建一个新的 Usuario 项目 Sequelize 时,它​​应该返回项目和 id 作为插入的结果,而不是那样,equalize 返回 null 作为 id,但是插入就在我的数据库中。

const Usuario=mysql_db.define('Usuario', {
id_usuario:{
    primaryKey: true,
    autoIncrement: true,
    type: DataTypes.INTEGER(11)
},
identificacion:{
    type:DataTypes.STRING
},
nombre: {
    type:DataTypes.STRING
},
password: {
    type:DataTypes.STRING
},
id_role:{
    type:DataTypes.INTEGER
},
activo:{
    type:DataTypes.BOOLEAN
},
fecha_creacion:{
    type:DataTypes.DATE,
    defaultValue:DATE
},
fecha_modificacion:{
    type:DataTypes.DATE
}
},{
tableName:'usuarios'
});

调用Save方法()

const usuariosPost = async (req, res = response) => {
try {
    let {identificacion,nombre,password} =req.body;
    const usuario= new Usuario({identificacion,nombre,password,activo:'1',id_role:'2'})
    usuario.save();
    res.json({
        msg: 'post API - usuariosPost',
        usuario,
    });

} catch (error) {
    res.status(500).json({
        msg:'Comuniquese con el administrador X002'
    })
} 

}

主键是id_usuario,它的autoIncrement设置为true,这是save()方法的结果

但我完全确定我的数据库中的插入函数是正确的,如下所示。

【问题讨论】:

    标签: mysql node.js sequelize.js


    【解决方案1】:

    您只是没有等待save 调用的结果:

    await usuario.save();
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 2016-01-18
    • 1970-01-01
    • 2016-05-03
    相关资源
    最近更新 更多