Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengendalikan Baris Tidak Wujud dalam Fungsi Padam GORM?

Bagaimana untuk Mengendalikan Baris Tidak Wujud dalam Fungsi Padam GORM?

Mary-Kate Olsen
Lepaskan: 2024-10-27 10:26:30
asal
1083 orang telah melayarinya

How to Handle Non-Existent Rows in GORM's Delete Function?

Mengendalikan Ralat dalam Fungsi Padam GORM

Apabila bekerja dengan pemadaman pangkalan data menggunakan GORM, adalah penting untuk mempertimbangkan cara anda mahu mengendalikan yang tidak wujud barisan. Secara lalai, GORM tidak membuang ralat apabila cuba memadamkan baris yang tidak wujud. Sebaliknya, hasil. Medan ralat kekal sifar.

Untuk mengubah tingkah laku ini dan mengembalikan ralat untuk baris yang tidak wujud, anda perlu memeriksa medan RowsAffected. Begini cara anda boleh mengubah suai fungsi DeleteCategory anda:

<code class="go">func DeleteCategory(id uint) error {
    c := Category{ID: id}

    db := db.Delete(&c)
    if db.Error != nil {
        return db.Error
    } else if db.RowsAffected < 1 {
        return fmt.Errorf("row with id=%d cannot be deleted because it doesn't exist", id)
    }

    return nil
}</code>
Salin selepas log masuk

Dalam fungsi yang diubah suai ini:

  1. Kaedah Padam GORM digunakan, memperuntukkan hasil kepada db.
  2. Jika db.Error bukan nol, ralat dikembalikan.
  3. Selepas mengesahkan bahawa tiada ralat umum, db.RowsAffected diperiksa. Jika kurang daripada 1, menunjukkan bahawa tiada baris terjejas oleh operasi pemadaman, mesej ralat tersuai dikembalikan.
  4. Nilai ralat sifar dikembalikan jika pemadaman baris berjaya.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Baris Tidak Wujud dalam Fungsi Padam GORM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan