Jediný způsob, jak to vyřešit (alespoň s omezenými možnostmi MySQL), je umožnit NULL
hodnoty v obou sloupcích FK. Vytvoření nového uživatele s primární identitou by pak vypadalo asi takto:
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;
Jedinou nevýhodou tohoto řešení je, že nemůžete vynutit, aby měl uživatel primární identitu (protože sloupec musí mít hodnotu null).