Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mewujudkan Hubungan Utama Asing dengan GORM dalam Go?

Bagaimana untuk Mewujudkan Hubungan Utama Asing dengan GORM dalam Go?

Susan Sarandon
Susan Sarandonasal
2024-11-22 03:50:15524semak imbas

How to Create a Foreign Key Relationship with GORM in Go?

Mewujudkan Perhubungan Utama Asing dengan Gorm

Masalah:
Aplikasi Go anda menggunakan dua model, User dan UserInfo, dan anda ingin mewujudkan hubungan kunci asing antara medan UID dalam UserInfo dan medan id dalam Pengguna. Mengubah suai model UserInfo sahaja telah terbukti tidak berkesan.

Penyelesaian:

Daripada bergantung semata-mata pada anotasi gorm dalam model UserInfo, anda boleh menentukan kekangan kunci asing semasa penghijrahan pangkalan data. Tambahkan baris berikut pada skrip migrasi anda:

db.Model(&models.UserInfo{}).AddForeignKey("u_id", "t_user(id)", "RESTRICT", "RESTRICT")

Barisan ini mencapai perkara berikut:

  • Ia menentukan bahawa medan u_id dalam UserInfo ialah kunci asing yang dikaitkan dengan medan id dalam jadual t_user.
  • Ia menetapkan tindakan ON DELETE dan ON UPDATE kepada RESTRICT, bermakna sebarang percubaan untuk memadam atau mengemas kini baris pengguna akan ditolak jika terdapat sebarang baris UserInfo sedia ada yang merujuknya.

Atas ialah kandungan terperinci Bagaimana untuk Mewujudkan Hubungan Utama Asing dengan GORM dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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 sebelumnya:Go-DOM - peristiwa pentingArtikel seterusnya:Go-DOM - peristiwa penting