我有3个表,如A,B,C,关系是A(ID),B(A.ID,C.ID)B有A的外键,B也有C的外键
我想在删除B时触发,它也会删除C。问题是C的数据类型不是整数,所以我应该把''放在这样的查询上
DELETE FROM C WHERE ID = 'AB001';
这是我删除B的触发器
BEGIN
DELETE FROM C WHERE ID = Old.CID ;
END
我怎么能把这个''放在我的触发器上?
ID
和Old.TransactionID
不是值,它们是列名。你不需要引用它们中的任何一个。
话虽如此,我认为触发器是错误的方法。如果您已经有一个外键,只需将其定义为on delete cascade
,并省去重新发明轮子的麻烦。