Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zależność cykliczna mysql w ograniczeniach kluczy obcych

Jedynym sposobem rozwiązania tego problemu (przynajmniej przy ograniczonych możliwościach MySQL) jest umożliwienie NULL wartości w obu kolumnach FK. Tworzenie nowego użytkownika z podstawową tożsamością wyglądałoby wtedy mniej więcej tak:

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;

Jedyną wadą tego rozwiązania jest to, że nie można wymusić, aby użytkownik miał podstawową tożsamość (ponieważ kolumna musi mieć wartość null).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ustaw wartość mySQL MAX na zmienną java

  2. Uruchamianie plików MySQL *.sql w PHP

  3. Najlepszy sposób na denormalizację danych w Django?

  4. SQL aktualizuje jedną kolumnę z innej kolumny w innej tabeli

  5. Wybierz według miesiąca pola