prisma:为啥我不能将“null”设置为可空列的默认值?
Posted
技术标签:
【中文标题】prisma:为啥我不能将“null”设置为可空列的默认值?【英文标题】:prisma: Why can't I set "null" as default value for nullable columns?prisma:为什么我不能将“null”设置为可空列的默认值? 【发布时间】:2021-10-12 13:18:50 【问题描述】:model Comment
id Int @id @default(autoincrement())
reply Comment? @relation(fields: [replyId], references: [id], onDelete: SetNull)
replyId Int? @default(null)
comment String
这里reply
和replyId
都可以为空,但是当我尝试迁移时出现此错误:
error: Error parsing attribute "@default": Expected a numeric value, but received literal value "Null".
--> schema.prisma:70
|
69 | reply Comment? @relation(fields: [replyId], references: [id], onDelete: SetNull)
70 | replyId Int? @default(null)
|
谁能解释一下这个问题?
【问题讨论】:
【参考方案1】:您实际上不需要为可选字段指定空默认值。如果您未指定 Comment
关系或为记录显式提供 replyId
值,则 replyId
的值自动为空。对于不充当外键的可选字段也是如此。
所以,你想要的行为会自动出现,不需要定义@default(null)
。
【讨论】:
谢谢。你是唯一回答我的 Prisma 问题的人:)。我以为因为replyId是一个整数,所以它的默认值是0。 可选字段,无论类型如何,都可以为空,默认为空。并乐于提供帮助:D 是的,“诠释?”实际上意味着,如果没有提供任何内容,则设置为 null。以上是关于prisma:为啥我不能将“null”设置为可空列的默认值?的主要内容,如果未能解决你的问题,请参考以下文章