Heim  >  Artikel  >  Backend-Entwicklung  >  Wie erstelle ich eine Fremdschlüsselbeziehung mit GORM in Go?

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

Susan Sarandon
Susan SarandonOriginal
2024-11-22 03:50:15447Durchsuche

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")

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!

Stellungnahme:
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