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.