![](/img/trans.png)
[英]How do I delete a record in a same table (use WHERE EXIST or INNER JOIN)?
[英]How do I delete record through a Join
我有一个Access数据库,希望在其中使用对另一个表的引用完整性从一个表中删除一条记录。 例如,我有以下两个表;
带有字段的CI_Aliases-值为3的CI_Ref(主键)和值为5的Aliase_ID(外键)
具有字段的Aliases_Table-值为5的Aliase_ID(主键)和值为“ AMSS”的Aliase
我已经尝试了以下DELETE语句,但收到消息“无法从指定的表中删除记录”-我在做什么错?
DELETE FROM Aliases_Table a
INNER JOIN CI_Aliases c
ON a.Aliase_ID = c.Aliase_ID
WHERE c.CI_Ref = 3
我应该确认它是我希望删除的Aliases_Table中的记录,但使用的是CI_Aliase主键“ 3”
首先使用别名,然后使用FROM子句。 语法有点不直观
DELETE a.*
FROM Aliases_Table a
WHERE a.Aliase_ID IN (
SELECT
c.Aliase_ID
FROM CI_Aliases c
WHERE c.CI_Ref = 3
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.