У меня вопрос по поводу внешних ключей в таблице InnoDB.У меня есть 4 таблицы в моей базе данных:
Регистрация:
- UID - первичный ключ
- Afid
- Planid
- Industryid
Филиалы:
Планы:
Отрасли:
- Industryid - первичный ключ
SQL Я использую для добавления ключей:
CONSTRAINT `FK_signup_industries` FOREIGN KEY (`industryid`) REFERENCES `industries` (`industryid`) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT `FK_signup_affiliates` FOREIGN KEY (`afid`) REFERENCES `affiliates` (`afid`) ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT `FK_signup_plans` FOREIGN KEY (`planid`) REFERENCES `plans` (`planid`) ON UPDATE CASCADE ON DELETE CASCADE
Мой вопрос:
Если бы я должен был удалить план или отрасль набудут ли удалены соответствующие таблицы пользователя в таблице регистрации?Я попытался найти руководство по этому вопросу, и они не очень хорошо это объясняют.
По сути, мне нужно, чтобы строка в таблице регистрации никогда не удалялась, несмотря ни на что.Когда я использую этот запрос:
CONSTRAINT `FK_signup_plans` FOREIGN KEY (`planid`) REFERENCES `plans` (`planid`) ON UPDATE CASCADE ON DELETE NO ACTION
я получаю эту ошибку:
Cannot delete a parent row.