Satu-satunya cara untuk menyelesaikan ini (setidaknya dengan kemampuan MySQL yang terbatas) untuk mengizinkan NULL
nilai di kedua kolom FK. Membuat pengguna baru dengan identitas utama akan terlihat seperti ini:
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;
Satu-satunya kelemahan dari solusi ini adalah Anda tidak dapat memaksa pengguna memiliki identitas utama (karena kolom harus nullable).