我有以下表的 Sequelize 定义:
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
功能? 最佳答案
如果您没有定义 primaryKey
,那么 sequelize 默认使用 id
。
如果你想设置你自己的,只需在你的列上使用 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
});
关于javascript - 没有列 'id' 的 Sequelize 表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29233896/