控制台日志:
Executing (default): INSERT INTO `testtables` (`id`,`forgot_code`,`customer_id`) VALUES (DEFAULT,610,199)
我怎样才能阻止sequelize发送 DEFAULT
将值放入我的列 id
? 既然主键已经是自动递增的,我怎样才能阻止sequelize插入主键呢?
我的代码:
var TestTable= sequelize.define('testtables', {
id:{
type:Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true
},
forgot_code:Sequelize.INTEGER,
customer_id:Sequelize.INTEGER
},{
timestamps: false,
});
2条答案
按热度按时间kmpatx3s1#
回复有点晚,但我对percona也有类似的问题。所以我们的解决方案是添加一个钩子:
更新:在db级别找到此解决方案:https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_auto_value_on_zero
oyxsuwqo2#
你必须移除
autoIncrement: true
从你的模型定义。现在,插入而不提供id
值将失败。例如,下面的代码将失败但是如果你取消注解
autoIncrement: true
,插入将通过