2012-04-01 4 views
1

Ich habe eine Tabelle users mit Primärindex userId. Derzeit hat jeder Benutzer ein Feld arrayOfRelatedUserIds, so dass jeder Benutzer eine Beziehung mit mehreren anderen users haben kann. (Es ist ein array in JSON Format). Das weiß ich, um nicht die beste Lösung zu sein, und es gibt bessere Möglichkeiten, dies zu tun, aber ich verstehe einfach nicht wie. Wie würde ich das ohne ein Array tun? Was ist die "legitime" Methode, dies zu entwerfen, so dass jeder user auf mehrere users auf einmal bezogen werden?Verständnis einer Eins-zu-viele-Beziehung mit MySQL

Antwort

8

Erstellen Sie eine andere Tabelle related_users mit 2 Spalten:

  1. userId
  2. related_userId

und speichern jede Beziehung als eine Reihe

+0

und ID-Feld der Lage zu bearbeiten oder entfernen Zeilen sein. –

+1

@OZ_: Composite Primärschlüssel von '(userId, related_userId)' würde helfen, künstliche Schlüssel hier zu vermeiden – zerkms

+0

'ID' Taste gibt die Möglichkeit, reine CRUD, ohne" WHERE .. AND .. ", so dass ich lieber ID in haben alle Entitäten. –