3

我想只使用一个查询来删除父表和子表中的记录。我CHILD1_TABLE在父表PARENT_TABLE的字段名称中有子表名称TABLENAME。父表包含更多子表。我只想从其中一个子表和父表中删除一条记录。公共字段ID位于子表和父表中。我这样写我的查询,

DELETE PARENT.*,CHILD.* 
FROM PARENT_TABLE PARENT 
INNER JOIN (SELECT TABLENAME FROM PARENT_TABLE WHERE ID='CHILD1-001') CHILD 
ON PARENT.ID=CHILD.ID 
WHERE PARENT.ID='CHILD1-001'

但它不起作用。有谁能够帮我?

4

3 回答 3

2

那这个呢:

DELETE PARENT.*,CHILD.* 
FROM PARENT_TABLE PARENT 
INNER JOIN (SELECT * FROM (SELECT TABLENAME FROM PARENT_TABLE WHERE ID='CHILD1-001') AS CHILD)  
ON PARENT.ID=CHILD.ID 
WHERE PARENT.ID='CHILD1-001'
于 2012-04-17T06:59:18.480 回答
0

为什么不使用ON DELETE CASCADE

于 2012-04-17T06:50:41.603 回答
0
DELETE PARENT.*,CHILD.* 
FROM PARENT_TABLE PARENT 
INNER JOIN (SELECT * FROM (SELECT TABLENAME FROM PARENT_TABLE WHERE ID='CHILD1-001') AS a)  as child
ON PARENT.ID=CHILD.ID 
WHERE PARENT.ID='CHILD1-001'

我不确定这个查询,但试一试。

于 2012-04-17T07:11:31.370 回答