在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字段設置自增屬性,問題解決。