Det enda sättet att lösa detta (åtminstone med de begränsade funktionerna i MySQL) för att tillåta NULL
värden i båda FK-kolumnerna. Att skapa en ny användare med en primär identitet skulle då se ut ungefär så här:
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 enda nackdelen med denna lösning är att du inte kan tvinga att en användare har en primär identitet (eftersom kolumnen måste vara nullbar).