Wie erstelle ich eine Fremdschlüsselbeziehung mit GORM in Go?

Susan Sarandon
Freigeben: 2024-11-22 03:50:15
Original
469 Leute haben es durchsucht

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

Fremdschlüsselbeziehungen mit Gorm erstellen

Problem:
Ihre Go-Anwendung verwendet zwei Modelle, User und UserInfo, und Sie möchten dies tun Stellen Sie eine Fremdschlüsselbeziehung zwischen dem UID-Feld in UserInfo und dem ID-Feld in User her. Das alleinige Ändern des UserInfo-Modells hat sich als unwirksam erwiesen.

Lösung:

Anstatt sich ausschließlich auf die Gorm-Anmerkungen im UserInfo-Modell zu verlassen, können Sie die Fremdschlüsseleinschränkung währenddessen definieren Datenbankmigration. Fügen Sie Ihrem Migrationsskript die folgende Zeile hinzu:

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

Diese Zeile bewirkt Folgendes:

  • Sie gibt an, dass das Feld „u_id“ in UserInfo ein Fremdschlüssel ist, der dem Feld „id“ zugeordnet ist in der t_user-Tabelle.
  • Es setzt die Aktionen ON DELETE und ON UPDATE auf RESTRICT, was bedeutet, dass jeder Versuch, einen Benutzer zu löschen oder zu aktualisieren Zeile wird abgelehnt, wenn vorhandene UserInfo-Zeilen darauf verweisen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Fremdschlüsselbeziehung mit GORM in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage