Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Memastikan Pengendalian Ralat Semasa Pemadaman Entiti dalam GORM apabila Baris Tidak Ditemui?
Apabila bekerja dengan pangkalan data, adalah penting untuk menangani kemungkinan ralat dengan bijak. Dalam GORM, fungsi Padam, bertujuan untuk mengalih keluar entiti daripada pangkalan data, mengemukakan isu khusus di mana berbilang panggilan dengan pengecam yang sama tidak mencetuskan ralat.
Oleh lalai, GORM tidak menganggap cuba memadamkan baris yang tidak wujud dalam pangkalan data sebagai ralat. Oleh itu, fungsi Padam hanya mengembalikan sifar dalam kes sedemikian, walaupun ia gagal mengalih keluar entiti.
Tingkah laku ini berpunca daripada fakta bahawa GORM mengikut standard SQL, yang tidak mentakrifkan pemadaman baris yang tidak wujud sebagai ralat. Akibatnya, GORM sememangnya tidak membuang ralat apabila anda cuba memadamkan baris yang tidak wujud.
Jika anda perlu mengembalikan ralat semasa cuba memadamkan baris yang tidak wujud, anda perlu menyemak medan RowsAffected secara manual pada hasil fungsi Delete. Begini cara anda boleh mengubah suai kod 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>
Dalam kod yang diubah suai ini:
Atas ialah kandungan terperinci Bagaimana untuk Memastikan Pengendalian Ralat Semasa Pemadaman Entiti dalam GORM apabila Baris Tidak Ditemui?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!