CREATE TABLE buildings (
building_no INT PRIMARY KEY AUTO_INCREMENT,
building_name VARCHAR(255) NOT NULL,
address VARCHAR(255) NOT NULL
);
CREATE TABLE rooms (
room_no INT PRIMARY KEY AUTO_INCREMENT,
room_name VARCHAR(255) NOT NULL,
building_no INT NOT NULL,
FOREIGN KEY (building_no)
REFERENCES buildings (building_no)
ON DELETE CASCADE
);
Допустим, вы определили две таблицы, подобные этой. Таким образом, мы видим, что у комнат есть внешний ключ на зданиях, и он установлен на УДАЛЕННЫЙ КАСКАД. Это означает, что если объект из зданий будет удален, будет удалена вся комната с этим building_no.
Это также решит вашу проблему.