Хауди, У меня проблема, когда мне нужен каскад на нескольких внешних ключах, указывающих на одну и ту же таблицу.
[Insights]
| ID | Title |
| 1 | Monty Python |
| 2 | Spamalot |
[BroaderInsights_Insights]
| broaderinsight_id | insight_id |
| 1 | 2 |
В принципе, когда удаляется запись одной или двух в таблице данных, мне нужно, чтобы связь также была удалена.
Я пробовал это:
CREATE TABLE broader_insights_insights(id INT NOT NULL IDENTITY(1,1),
broader_insight_id INT NOT NULL REFERENCES insights(id) ON DELETE CASCADE,
insight_id INT NOT NULL REFERENCES insights(id) ON DELETE CASCADE,
PRIMARY KEY(id))
Go
Это приводит к предупреждению о том, что каскад "может вызывать циклы или несколько каскадных путей"
Итак, я попытался добавить каскад только к insight_id, и это приводит к:
"Операция DELETE противоречила ограничению REFERENCE"
Любые идеи?
Спасибо
Daniel