在node.js平台下用sequelize作为ORM框架,向数据库中插入数据时报错:Field 'id' doesn't have a default value
,我的表定义为:
const Task = sequelize.define('task',{
id:{
type:Sequelize.BIGINT(10),
primaryKey:true,
allowNull:false,
autoIncrement:true
},
provincecode:Sequelize.STRING(255),
testmodules:Sequelize.STRING(255),
triggerTime:Sequelize.STRING(255)
},{
timestamps:false,
//sequelize自动将表名生成为复数形式,freezeTableName为true时不改变表名
freezeTableName: true
});
其中id字段为表的主键,并且设置了autoIncrement:true
,由于之前我是用SpringBoot搭建后台的,按照我的理解,在调用create方法新增数据时,主键会自动自增,但是运行时却报错,Field 'id' doesn't have a default value
,并没有自增,但是想到自增还没到数据库那块,后台怎么知道现在数据库的id现在自增到多少了,所以想到创建表的时候也要将id字段设置自增属性,问题解决。