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.
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 }
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.
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")
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.
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!