如何插入具有空值的显式 id 属性的数据?
Posted
技术标签:
【中文标题】如何插入具有空值的显式 id 属性的数据?【英文标题】:How to insert data with explicit id property which has null value? 【发布时间】:2019-03-26 02:30:42 【问题描述】:我有一个带有显式 id
属性的 js 对象。像这样:
const data =
user_id: null,
user_email: faker.internet.email()
;
user_id
的值为 null,并且有一个 users
表使用 user_id
作为其主键。
我想正确插入这个数据,希望knex
能遵守主键递增规则。
这是我的代码:
async function insert(user: any)
return await knex('users')
.insert(user)
.returning('*');
当我尝试插入此数据时,出现错误:
错误:“user_id”列中的空值违反了非空约束
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:您可以将user_id
的值设置为undefined
。然后它将插入数据并
遵守主键递增规则。
const data =
user_id: undefined,
user_email: faker.internet.email()
;
检查users
表中插入的行。 user_id
的值为1
【讨论】:
以上是关于如何插入具有空值的显式 id 属性的数据?的主要内容,如果未能解决你的问题,请参考以下文章