2012-04-01 5 views
1

У меня есть таблица users с основным индексом userId. В настоящее время у каждого пользователя есть поле arrayOfRelatedUserIds, так что любой пользователь может иметь отношения с несколькими другими users. (Это array в формате JSON). Я знаю, что это не лучшее решение, и есть лучшие способы сделать это, но я просто не понимаю, как это сделать. Как я могу сделать это без массива? Каков «законный» метод проектирования, чтобы каждый user был связан с несколькими users сразу?Понимание отношений «один ко многим» с MySQL

ответ

8

Создать другую таблицу related_users с 2-мя колоннами:

  1. userId
  2. related_userId

И хранить каждое отношение как ряд

+0

и ID поля, чтобы иметь возможность изменять или удалять строки. –

+1

@OZ_: составной первичный ключ '(userId, related_userId)' поможет избежать искусственных клавиш здесь – zerkms

+0

'ID' дает возможность писать чистый CRUD, без« WHERE .. AND .. », поэтому я предпочитаю иметь ID в все сущности. –

Смежные вопросы