Den eneste måde at løse dette på (i det mindste med de begrænsede muligheder i MySQL) for at tillade NULL
værdier i begge FK-kolonner. Oprettelse af en ny bruger med en primær identitet ville så se sådan ud:
insert into users (id, primary_identity)
values (1, null);
insert into identities (id, name, belongs_to)
values (1, 'foobar', 1);
update users
set primary_identity = 1
where id = 1;
commit;
Den eneste ulempe ved denne løsning er, at du ikke kan tvinge en bruger til at have en primær identitet (fordi kolonnen skal være nullbar).