Я создал две таблицы зданий и комнат.
Я хочу, чтобы комнаты, которые будут удалены, если я удаляю здания, удаляются автоматически.
Я знаю, что этого можно достичь, используя ограничения внешнего ключа и используя ON DELETE CASCADE
Вот как я это делаю.
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
);
INSERT INTO buildings(building_name,address)
VALUES('ACME Headquaters','3950 North 1st Street CA 95134'),
('ACME Sales','5000 North 1st Street CA 95134');
INSERT INTO rooms(room_name,building_no)
VALUES('Amazon',1),
('War Room',1),
('Office of CEO',1),
('Marketing',2),
('Showroom',2);
когда удаление выполнено, удаление не каскадируется.Это проблема с phpmyadmin или что-то не так в моем коде (что крайне маловероятно)?
Также phpmyadmin поддерживает операторы ON DELETE.Если не то, что я должен использовать.
ПРИМЕЧАНИЕ. Я не хочу удалять и воссоздавать всю таблицу