Desværre sker den automatiske sletning, som du mener burde ske, ikke. Du skal manuelt slette rækkerne i tabel B, der indeholder ID'et, fra rækken i tabel A, som du ønsker at fjerne.
Prøv at tilføje ON SLET CASCADE til din fremmednøglekolonnedefinition i tabel B.
Hvis du bruger Hibernate eller et andet ORM-værktøj, ville det have en "kaskade"-mekanisme, der ville håndtere dette automatisk. Men her, da du bruger databasen direkte, skal du huske på, at en række ikke kan slettes, hvis ID'et for den nævnte række findes i en anden tabel som en fremmednøgle (som i dit tilfælde, den primære nøgle til A findes i nogle af rækkerne i B). Medmindre du selvfølgelig angiver egenskaben ON DELETE CASCADE.