Mam tabelę, której pole klucza podstawowego "ID" jest używane w wielu innych tabelach jako klucz obcy.jak sprawdzić, czy klucz rekordu jest używany w innych tabelach jako klucz obcy (sql)?
Jak mogę zrozumieć, że rekord z tej tabeli (na przykład pierwszy rekord "ID = 1") jest używany w innej tabeli?
Nie chcę wybierać ze wszystkich innych tabel, aby zrozumieć, ponieważ tabele są tak liczne i relacje. Szukałem rozwiązania, nie było żadnych działających rozwiązań lub źle to zrobiłem. Proszę pomóż.
Po co to robić? Aby nie usunąć rekordu, jeśli jest używany jako FK? Następnie ustaw inne klucze obcych na "ON DELETE RESTRICT" zamiast "CASCADE". Bum, nie więcej niezamierzonych usunięć. –
Mam pole Isdeleted, które ustawię jako prawdziwe, jeśli jakikolwiek inny rekord używa identyfikatora tego rekordu jako klucza obcego, ale jeśli identyfikator tego rekordu nie jest używany w innych tabelach jako klucz obcy, chcę go usunąć. – ares
Serwer SQL nie obsługuje opcji USUŃ RESTRICT, ale można użyć polecenia NA USUŃ NIE AKCJA, aby uzyskać pożądane zachowanie (błąd w przypadku próby usunięcia wiersza używanego przez inną tabelę jako FK). –