【问题标题】: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
}

这里replyreplyId 都可以为空,但是当我尝试迁移时出现此错误:

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)
   |

谁能解释一下这个问题?

【问题讨论】:

    标签: orm prisma


    【解决方案1】:

    您实际上不需要为可选字段指定空默认值。如果您未指定 Comment 关系或为记录显式提供 replyId 值,则 replyId 的值自动为空。对于不充当外键的可选字段也是如此。

    所以,你想要的行为会自动出现,不需要定义@default(null)

    【讨论】:

    • 谢谢。你是唯一回答我的 Prisma 问题的人:)。我以为因为replyId是一个整数,所以它的默认值是0。
    • 可选字段,无论类型如何,都可以为空,默认为空。并乐于提供帮助:D
    • 是的,“诠释?”实际上意味着,如果没有提供任何内容,则设置为 null。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    • 2014-05-27
    • 2011-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多