sql >> Database >  >> RDS >> Mysql

mysql circulaire afhankelijkheid in externe sleutelbeperkingen

De enige manier om dit op te lossen (tenminste met de beperkte mogelijkheden van MySQL) om NULL toe te staan waarden in beide FK-kolommen. Het aanmaken van een nieuwe gebruiker met een primaire identiteit ziet er dan ongeveer zo uit:

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;

Het enige nadeel van deze oplossing is dat je niet kunt forceren dat een gebruiker een primaire identiteit heeft (omdat de kolom nullable moet zijn).




  1. Hoe gebruik je alfanumerieke velden met BETWEEN-clausule in Mysql?

  2. Klasse niet gevonden bij het laden van JDBC org.postgresql.Driver

  3. Een kolom bijwerken op basis van een andere kolom in SQL

  4. R DBI ODBC-fout:nanodbc/nanodbc.cpp:3110:07009:[Microsoft][ODBC-stuurprogramma 13 voor SQL Server]Ongeldige descriptorindex