podle mě to máš úplně špatně, protože nemáš normalizovány tabulky (edit: a dříve či později to bude proklínat, protože narazí na omezení, daná špatným návrhem datového modelu).
udělej si:
- tabulku čistě user s user_ID jako primárním klíčem (můžeš přidat pole s položkou "primary_group" do které uložíš group_id primární skupiny)
- tabulku group s primárním klíčem Group_ID
- tabulku group_members, která bude pivot tablicí mezi user_id a group_id
- tabulku rolí tedy můžeš zcela vypustit, nebo do ní přidat aplikační logiku a navázat ji na tabulku "group" - to závisí na objemu těch rolí