Если у вас определено Foreign Key
для этого отношения, тогда да, вы должны удалить (потому что дочерние элементы не могут быть сиротами) или установить значение NULL (если вы используете в столбце CatId значения null
) в столбце CatID
в таблица Subcategories
, поскольку в реляционных базах данных используется referential integrity
. Вы можете определить опцию CASCADE
, чтобы сделать это автоматически.
ALTER TABLE SubCategory
ADD CONSTRAINT FK_SubCategory_Category
FOREIGN KEY (CatId)
REFERENCES Category (CatId)
ON DELETE CASCADE
Проверьте эту статью для более подробной информации.
Если у вас есть FK и вы хотите больше контроля над тем, что вы удаляете, вы должны предоставить для этого два оператора sql.
delete from subcategory where catId = 1
delete from category where catId = 1