Sails.js,Model.update()抛出ER_BAD_FIELD_ERROR:'where子句'中的未知列'undefined'

时间:2016-03-24 08:26:53

标签: javascript mysql node.js rest sails.js

我是 Sails.js

的新手

我正在为应用程序使用 MySQL 数据库。

问题

当我尝试更新表格时(名为“ u_others ”) ,我得到以下错误:

  

ER_BAD_FIELD_ERROR:'where子句'中的未知列'undefined':

表格结构:

  

u_others enter image description here

Deatailed:

  

ERROR enter image description here

型号:

  

“U_others.js”

module.exports = {
    autoCreatedAt:false,
    autoUpdatedAt:false,
    autoPK:false,
    attributes: {
        username:{
            type:"string",
            unique:true
        },
        name:{
            type:"string",
        },
        d_o_b:{
            type: "string"
        },
        phone:{
            type: "integer",
            size: 15
        },
        gender:{
            enum: ['m', 'f', 'other']
        },
        avatar:{
            type: "string"
        }
    }
};

更新查询

var other = req.param('other_details');
var wheree = {
   username: username
};
var data = {
 name: other.name,
 d_o_b: other.d_o_b,
 phone: other.phone,
 gender: other.gender,
 avatar: other.avatar
};

U_others.update({username: req.param('username')}, data)
.exec(function afterwards(err, updated){
    if (err) {
        return res.negotiate(err);
    }
    res.status(201);
    res.json(updated);
});

请求参数正文

{
"username": "xyz",
"other_details":{
    "name": "xx yy zz",
    "d_o_b": "2014-11-22",
    "phone":88787878787,
    "gender":"m",
    "avatar":"sdfsdf/sdfsdfsdf/sdfsdf.jpg"
}
 }
  

请注意:我有console.log()所有req.parameters,所有包含值

1 个答案:

答案 0 :(得分:3)

删除行autoPK:false或在模型中添加属性id,如下所示。

id:{
  type:'integer',
  primaryKey:true
}

或 错误是由于模型中缺少主键ID属性