" ER_BAD_FIELD_ERROR:未知列' id'在'字段列表'"用nodejs进行续集

时间:2018-05-21 13:44:27

标签: node.js sequelize.js

当我尝试通过Sequelize从NODEJS中的某条路线获取数据时,我得到的是未知列的错误,该错误既不在模型中,也不在我的代码下面。

我的模特

      module.exports = function(sequelize, DataTypes) {
    return sequelize.define('ProspectType', {
      ProspectTypeID: {
        type: DataTypes.INTEGER(11),
        allowNull: false
      },
      ProspectTypeName: {
        type: DataTypes.STRING(50),
        allowNull: true
      }
    }, {
      tableName: 'ProspectType'
    });
  };

我的路线

        .get('/prospectType', function (req, res) {
        models
            .ProspectType
            .findAll()
            .then(function (data) {
                res
                    .json(data);
            })
            .catch(function (error) {
                res
                    .boom
                    .notAcceptable(error);
            });
    })

即使没有专栏' id'我收到此错误

SequelizeDatabaseError: ER_BAD_FIELD_ERROR: Unknown column 'id' in 'field 
 list'

2 个答案:

答案 0 :(得分:1)

我假设您希望Sub Template() Dim j As Long Dim c As Range, t As Range Dim ws As String j = 5 With Sheets("Sample ") For Each c In .Range("I3", .Cells(.Rows.Count, "I").End(xlUp)) If c.Value <> "" Then If c.Value = "DEN" Then ws = "D-Temp" Exit For Else ws = "M-Temp" Exit For End If End If Next For Each t In .Range("P3", .Cells(.Rows.Count, "P").End(xlUp)) If t.Value <> "" Then j = j + 1 Sheets("M-Temp").Copy after:=Sheets(Sheets.Count) ActiveSheet.Shapes("Textbox 1").TextFrame.Characters.Text = t.Value ActiveSheet.Shapes("textbox 2").TextFrame.Characters.Text = t.Offset(, -1).Value End If Next End With End Sub 成为主键。但是你没有告诉续集这是你的主键。因此,如果正在寻找ProspectTypeID的默认主键。

只需将其声明为模型中的主键即可,

id

答案 1 :(得分:0)

对于那些使用 sequelize 注释的人,我通过将相关字段注释为 @PrimaryKey 来解决此错误:

@Table({
    tableName: 'users'
})
export default class User extends Model<User> {
    @PrimaryKey
    @Column({
        type: DataTypes.INTEGER,
        allowNull: false,
    })
    public userId!: number

    @Column({
        type: DataTypes.INTEGER,
        allowNull: false
    })
    public groupId!: number
}