sql >> Databasteknik >  >> RDS >> Mysql

mysql cirkulärt beroende i främmande nyckelbegränsningar

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).




  1. Echo menyträd med rekursiv funktion

  2. How to_timestamp() Fungerar i PostgreSQL

  3. Räkna referenser till en post i en tabell via främmande nycklar

  4. Hur man får funktionsparameterlistor (så att jag kan släppa en funktion)