Sql server omitNull不处理Sequelize中的primaryKey列
我有一个SQL server数据库,其中有一个表,当添加记录时,该表会自动在每一行中插入guid。此列是表的主键,不需要向其提供值,因为它是自动的 问题是,每次我执行.create({emailAddress:})时,Sequelize都会为此列发送NULLtest@test.com“})调用,该调用会在数据库中导致错误(因为显然不允许使用空值) 我曾尝试在顶层和“调用”层添加omitNull,但这两种方法都不起作用,除非我删除主键,然后它不会发送NULL。因此,Sequelize似乎认为,如果某个东西是主键,那么它必须发送一个值,而不理解SQL SERVER数据库将处理该值的插入 有人知道解决办法吗 //模型Sql server omitNull不处理Sequelize中的primaryKey列,sql-server,node.js,sequelize.js,Sql Server,Node.js,Sequelize.js,我有一个SQL server数据库,其中有一个表,当添加记录时,该表会自动在每一行中插入guid。此列是表的主键,不需要向其提供值,因为它是自动的 问题是,每次我执行.create({emailAddress:})时,Sequelize都会为此列发送NULLtest@test.com“})调用,该调用会在数据库中导致错误(因为显然不允许使用空值) 我曾尝试在顶层和“调用”层添加omitNull,但这两种方法都不起作用,除非我删除主键,然后它不会发送NULL。因此,Sequelize似乎认为,如果
module.exports = function (sequelize, DataTypes) {
const Player = sequelize.define('Player', {
playerId: {
primaryKey: true,
type: DataTypes.STRING
},
emailAddress: {
type: DataTypes.STRING
}
}, {
timestamps: false
});
return Player;
};
//创建一行
let newPlayer = {
emailAddress:'test@test.com'
}
Player.create(newPlayer, {omitNull:true}).then(function(player){
console.log("player", player)
}).catch(function(error){
console.log("error", error)
})
添加
defaultValue
和allowNull
应该可以完成这项工作
playerId: {
primaryKey: true,
defaultValue: '',
allowNull: false,
}
添加
defaultValue
和allowNull
应该可以完成这项工作
playerId: {
primaryKey: true,
defaultValue: '',
allowNull: false,
}
好的,这将发送一个空字符串,该字符串将被数据库中的GUID替换,该GUID将作为一种解决方法完美地工作。似乎仍然很奇怪,没有办法让它什么也不发送,但这只是我的挑剔。非常感谢。好的,这将发送一个空字符串,它将被替换为数据库中的GUID,这将是一个很好的解决方法。似乎仍然很奇怪,没有办法让它什么也不发送,但这只是我的挑剔。非常感谢。