我有2个表Taxcon和Tax。如果我删除税务记录,那么应该删除taxcon中的相关记录
我想要一个命名查询。
我试过这个查询
delete t,c from TaxCon t JOIN t.tax c WHERE c.code=:code
- >我的目的是在“代码”字段的帮助下删除税表中的记录,并删除Taxcon中的相关记录 但是我收到了一个错误 该查询包含格式错误的结尾
答案 0 :(得分:0)
您需要一个连接条件,以便只删除两个表中的相关行。
DELETE t, c
FROM TaxCon AS t
JOIN Tax AS c ON t.code = c.code
WHERE c.code = :code
但是你可以通过声明一个外键来自动发生这种情况。
ALTER TABLE TaxCon ADD CONSTRAINT FOREIGN KEY (code) REFERENCES Tax (code) ON DELETE CASCADE;
然后您只需要删除Tax
中的行,相关的TaxCon
行就会被删除。