Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menentukan Kekangan Utama Asing dalam Gorm for Go?

Bagaimana untuk Menentukan Kekangan Utama Asing dalam Gorm for Go?

Mary-Kate Olsen
Lepaskan: 2024-11-29 13:08:10
asal
207 orang telah melayarinya

How to Define Foreign Key Constraints in Gorm for Go?

Cara Mewujudkan Kekangan Utama Asing Menggunakan Gorm

Apabila menguruskan perhubungan entiti dalam pangkalan data menggunakan Go, adalah penting untuk mewujudkan kekangan kunci asing yang jelas. Dalam artikel ini, kami akan meneroka proses mentakrifkan kekangan sedemikian menggunakan Gorm, ORM yang popular untuk Go.

Mentakrifkan Model

Pertimbangkan contoh senario berikut, di mana kami mempunyai dua model:

type User struct {
    ID       uint
    Email    string
    Password string
}

type UserInfo struct {
    UID       uint
    FirstName string
    LastName  string
    Phone     string
    Address   string
    User      User // Represents the foreign key relationship
}
Salin selepas log masuk

Dalam contoh ini, Pengguna ialah jadual induk dan UserInfo ialah jadual anak. Medan UID dalam UserInfo berfungsi sebagai kunci asing, merujuk medan ID dalam jadual Pengguna.

Kunci Asing menggunakan Gorm

Dalam Gorm sebelum versi 2.0, adalah perlu untuk mencipta asing secara eksplisit kekangan utama dalam skema pangkalan data. Ini dicapai dengan menggunakan kaedah AddForeignKey dalam kod migrasi:

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

Nota

Walau bagaimanapun, dari Gorm versi 2.0 dan seterusnya, proses manual ini tidak diperlukan lagi. Gorm secara automatik membuat kesimpulan kekangan kunci asing berdasarkan perhubungan yang ditentukan antara model.

Kesimpulan

Mentakrifkan kekangan kunci asing memastikan integriti data dan menguatkuasakan integriti rujukan antara jadual. Dengan memahami dan menggunakan kaedah yang sesuai dalam Gorm, anda boleh mengurus perhubungan pangkalan data dengan berkesan dalam aplikasi Go anda.

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Kekangan Utama Asing dalam Gorm for Go?. 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