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

Usuwanie z tabeli MySQL z ograniczeniami klucza obcego

Niestety, automatyczne usunięcie, które Twoim zdaniem powinno nastąpić, nie ma miejsca. Będziesz musiał ręcznie usunąć wiersze w Tabeli B, które zawierają identyfikator z wiersza w Tabeli A, który chcesz usunąć.

Spróbuj dodać ON DELETE CASCADE do definicji kolumny klucza obcego w Tabeli B.

Jeśli używasz Hibernate lub innego narzędzia ORM, będzie miał mechanizm „kaskadowy”, który poradzi sobie z tym automatycznie. Ale tutaj, ponieważ łączysz się bezpośrednio z bazą danych, musisz pamiętać, że wiersza nie można usunąć, jeśli identyfikator tego wiersza istnieje w dowolnej innej tabeli jako klucz obcy (tak jak w twoim przypadku, klucz podstawowy A istnieje w niektóre rzędy w B). O ile oczywiście nie określisz właściwości ON DELETE CASCADE.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przechowywać datę i godzinę w MySQL z informacją o strefie czasowej?

  2. Dlaczego to połączenie Hibernate MySQL jest tylko do odczytu?

  3. wybierz 1 losowy wiersz ze złożonym filtrowaniem

  4. Jak wyodrębnić lata, miesiące, dni, godziny, minuty, sekundy z daty mysql?

  5. Problemy z RODBC sqlSave