使用复合主键在Junction表上设置外键约束

时间:2016-01-31 09:46:12

标签: mysql phpmyadmin junction-table

我有一个联结表,用于存储测试与测试中的问题之间的关系,testFKquestionFK设置为复合主键,以防止重复输入。

结点表:

    +--------+------------+
    | testFK | questionFK |
    +--------+------------+
    |    7   |      1     |
    +--------+------------+
    |    7   |      2     |
    +--------+------------+
    |    7   |      3     |
    +--------+------------+
    |    8   |      4     |
    +--------+------------+
    |    8   |      5     |
    +--------+------------+
    |    8   |      6     |
    +--------+------------+

我想做什么:

testID删除test table后,我希望删除testFK=8Junction Table的所有行。

问题:

phpmyadmin不允许我将testFK设为foreign key testID的{​​{1}}。

处理这种情况的最佳方法是什么?

感谢您的任何意见!

更新 创建代码:

test table

1 个答案:

答案 0 :(得分:0)

DROP TRIGGER remove_test_table
GO
CREATE TRIGGER remove_test_table
FOR DELETE
AS 
DELETE FROM test_table WHERE testFK IN (SELECT testFK FROM deleted);
GO