Вообще, когда у вас есть две таблицы и одна (назовём её таблица А) имеет внешний ключ на другую (таблица Б), то при удалении записи из таблицы Б вы должны сначала удалить связанную с ней запись в таблице А.
Т.е. перед удалением какой-то записи вы должны удалить все другие записи, которые на неё ссылаются.
Как уже написал
Rsa97 можно настроить автоматическое удаление этих записей, если в ограничение
FOREIGN KEY, которое у вас на столбце
type_id добавить опцию
ON DELETE CASCADE. Тогда, при удалении записи из таблицы
types у вас автоматически удалятся все связанные с ней записи из таблицы
group_types.