我有一个表的后续的定义:
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,则默认情况下后续使用id.
如果要设置自己的,只需在列上使用primaryKey:true即可.
AcademyModule = sequelize.define('academy_module',{ academy_id: { type: DataTypes.INTEGER,primaryKey: true },requirements_id: DataTypes.INTEGER },{ freezeTableName: true });