我有一个表的以下顺序定义:
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:
id
INSERT INTO `academy_module` (`id`,`academy_id`,`module_id`,`sort_number`) VALUES (DEFAULT,'3',5,1);
我怎样才能禁用id它显然具有的功能?
如果您未定义,primaryKey则id默认情况下使用sequelize 。
primaryKey
如果要设置自己的,只需primaryKey: true在列上使用即可。
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 });