Javascript knex.js将null强制转换为NaN
我有一个目标:Javascript knex.js将null强制转换为NaN,javascript,sql,node.js,postgresql,knex.js,Javascript,Sql,Node.js,Postgresql,Knex.js,我有一个目标: var record = { foo: null, bar: 42 } 我想在表中插入一个: console.log(db('foos_and_bars').insert(record).toString()); // insert into "foos_and_bars" ("foo", "bar") values ('NaN', 42) 我的字段允许为空,所以我不希望knex执行此类操作 这是什么原因呢?我以前多次插入null-s,但没有实现这种情况 UPD:我添
var record = {
foo: null,
bar: 42
}
我想在表中插入一个:
console.log(db('foos_and_bars').insert(record).toString());
// insert into "foos_and_bars" ("foo", "bar") values ('NaN', 42)
我的字段允许为空,所以我不希望knex执行此类操作
这是什么原因呢?我以前多次插入null-s,但没有实现这种情况
UPD:我添加了toString()
,只是为了确保查询的效果。正常运行时,我收到错误:
错误:将值($1,$2)插入到“foos_和_条”(“foo”,“bar”)中-整数“NaN”的输入语法无效
类型为nullable integer的字段?为什么?我假设knex将此字段识别为数字,并尝试转换空值。你用的是什么方言?@Thomas yep字段可以为空。我已经从postgres控制台插入了null,一切正常。我应该这样做,因为我有非常不可靠的数据提供程序,并且更喜欢在数据库中使用null而不是错误。@dvlsg我使用的是postgres。你知道现在有没有办法插入null-s?很遗憾,我不知道。看起来像博士后,除非我读错了地方。也许可以尝试向该函数添加一些日志记录/断点/任何东西,看看那里发生了什么?