一尘不染

对没有列'id'的表进行排序

node.js

我有一个表的以下顺序定义:

AcademyModule = sequelize.define('academy_module', {
        academy_id: DataTypes.INTEGER,
        module_id: DataTypes.INTEGER,
        module_module_type_id: DataTypes.INTEGER,
        sort_number: DataTypes.INTEGER,
        requirements_id: DataTypes.INTEGER
    }, {
        freezeTableName: true});

如您所见id,该表中没有一列。但是,当我尝试插入时,仍尝试以下sql:

 INSERT INTO `academy_module` (`id`,`academy_id`,`module_id`,`sort_number`) VALUES (DEFAULT,'3',5,1);

我怎样才能禁用id它显然具有的功能?


阅读 213

收藏
2020-07-07

共1个答案

一尘不染

如果您未定义,primaryKeyid默认情况下使用sequelize 。

如果要设置自己的,只需primaryKey: true在列上使用即可。

AcademyModule = sequelize.define('academy_module', {
    academy_id: {
        type: DataTypes.INTEGER,
        primaryKey: true
    },
    module_id: DataTypes.INTEGER,
    module_module_type_id: DataTypes.INTEGER,
    sort_number: DataTypes.INTEGER,
    requirements_id: DataTypes.INTEGER
}, {
    freezeTableName: true
});
2020-07-07