如何使用sequelize mysql在Nodejs中保存数据时排除Id

时间:2018-04-11 13:08:03

标签: mysql node.js sequelize.js

我试图保存用户信息。但我收到了以下错误。

  

未处理的拒绝SequelizeDatabaseError:'字段列表'中的未知列'id'   我的代码是

var userObj = {userid: "aa", "emailid": "aa@aa.com", "user_type": "ENG"};
User.user
    .build(userObj)
    .save()
    .then(anotherTask => {
        console.log(anotherTask);
    })
    .catch(error => {
        throw error;
    });

我的表格中没有id列。如何排除身份。

enter image description here

2 个答案:

答案 0 :(得分:1)

在您的问题中,您提到了如何排除ID。

您还可以通过制作其他字段id完全删除primaryKey: true字段,

sequelize.define('user', {
userid: {
    type: Sequelize.STRING,
    allowNull: false,
    primaryKey: true
},
emailid: Sequelize.STRING,
user_type: Sequelize.STRING
},{freezeTableName: true, tableName: 'user', id: false});

所以,我向primaryKey: true添加了userid,现在检查一下,id将从表中消失。

答案 1 :(得分:0)

如果表中没有Id,则将唯一列作为Id归档。

sequelize.define('user', {
'id': {
    type: Sequelize.STRING,
    field: 'userid',
    allowNull: false,
    primaryKey: true
},
userid: Sequelize.STRING,
emailid: Sequelize.STRING,
user_type: Sequelize.STRING

},{freezeTableName:true,tableName:'user',id:false});

{id: "aa", "userid": "aa", "emailid": "aa@aa.com", "user_type": "ENG"};