我在SQL Server 2005中有两个表:
例如,USER_COUNTRY表如下所示:
+----+--------+-----------+
| ID | UserID | CountryID |
+----+--------+-----------+
| 1 | 1 | 34 |
| 2 | 1 | 5 |
| 3 | 2 | 17 |
| 4 | 2 | 12 |
| 5 | 2 | 21 |
| 6 | 3 | 19 |
+----+--------+-----------+
我的问题是:在USER表中删除用户时,如何直接删除USER_COUNTRY表中的关联记录。也许,通过使用外键Constaint?
答案 0 :(得分:1)
您必须在USER_COUNTRY
中定义指向USER.UserID
并设置级联删除的外键:
CREATE TABLE USER_COUNTRY (
...
CONSTRAINT USER_COUNTRY_FK1 FOREIGN KEY (UserID)
REFERENCES USER(UserID)
ON DELETE CASCADE
);
答案 1 :(得分:0)
是的,您可以将外键关系删除规则设置为Cascade。
答案 2 :(得分:0)
我猜CASCADE是你唯一的选择。但你真的想要删除这样的记录吗?上下文:我是数据恶魔。