全书目录

第二十二篇:Prisma 完全指南 —— 数据翻译官事务所宇宙

第七章:写入 —— 让事务所代你正式建档

1 分钟 147 字 第 406 / 962 个阅读单元

查询是调卷,写入就是建档、改档、删档。

#1. 创建
ts
const user = await prisma.user.create({
  data: {
    email: "lin@city.dev",
    name: "Lin",
  },
});
#2. 更新
ts
const post = await prisma.post.update({
  where: { id: 1 },
  data: { published: true },
});
#3. 删除
ts
await prisma.post.delete({
  where: { id: 1 },
});
#4. upsert
ts
const user = await prisma.user.upsert({
  where: { email: "lin@city.dev" },
  update: { name: "Lin Zhang" },
  create: {
    email: "lin@city.dev",
    name: "Lin",
  },
});

upsert 的心智非常实用:

text
有档案 -> 更新
没档案 -> 创建
#5. 嵌套写入:一口气办完关联手续
ts
const user = await prisma.user.create({
  data: {
    email: "author@city.dev",
    name: "Author",
    posts: {
      create: [
        { title: "第一篇", content: "..." },
        { title: "第二篇", content: "..." },
      ],
    },
  },
  include: {
    posts: true,
  },
});

这里非常关键:

这不是“先创建用户,再手动拿 ID,再创建文章”的散装流程。

这是一种由 Prisma 帮你打包好的关联写入