Cara mengemas kini berbilang baris dengan data berbeza dalam Prisma
P粉478445671
P粉478445671 2023-12-25 13:03:44
0
1
530

Apakah cara terbaik untuk mengemas kini banyak rekod dengan data yang berbeza? Inilah yang saya lakukan

const updateBody = JSON.parse(req.body);

      try {
        for (let object of updateBody) {
          await prisma.comissions.upsert({
            where: {
              producer: object.producer,
            },
            update: {
              rate: object.rate,
            },
            create: object,
          });
        }

Saya boleh mengemas kininya tetapi ia akan mengambil masa yang lama untuk melakukannya. Saya tahu transaction, tetapi saya tidak tahu cara menggunakannya.

P粉478445671
P粉478445671

membalas semua(1)
P粉354602955

Terdapat dua cara untuk menggunakan pertanyaan transaksi dalam Prisma.

Operasi berurutan: Luluskan pelbagai pertanyaan pelanggan Prisma untuk dilaksanakan secara berurutan dalam transaksi.

Transaksi interaktif: Luluskan fungsi yang boleh mengandungi kod pengguna, termasuk pertanyaan pelanggan Prisma, kod bukan Prisma dan aliran kawalan lain untuk dilaksanakan dalam transaksi.

Dalam kes kami, kami harus menggunakan transaksi interaktif kerana ia mengandungi kod pengguna, untuk menggunakan fungsi panggil balik dalam transaksi Prisma kami perlu menambah fungsi pratonton pada fail Prisma.schema

generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["interactiveTransactions"]
}
prisma.$transaction(async(prisma) => {
  try {
        for (let object of updateBody) {
          await prisma.comissions.upsert({
            where: {
              producer: object.producer,
            },
            update: {
              rate: object.rate,
            },
            create: object,
          });
        }
});
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!