首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将DELETE与内连接一起使用

将DELETE与内连接一起使用
EN

Stack Overflow用户
提问于 2018-08-23 02:44:12
回答 2查看 43关注 0票数 0

我希望能够删除公司和它的所有用户从页面。

因此,我做了以下工作:

代码语言:javascript
复制
$removeid = $_POST['removeid'];

$deletecompany = "
DELETE c,u 
FROM company c 
INNER JOIN users u 
ON c.id = u.id_company 
WHERE c.id = ".$removeid."";
$deletecompanycon = $conn->query($deletecompany);

仅当公司有用户时才有效,但当只有一个公司且没有用户附加到该公司时,查询仍会继续,但不会删除该公司。

没有用户的情况下,如何确保删除公司?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-23 02:47:27

尝试使用左连接

代码语言:javascript
复制
$deletecompany = "
DELETE c,u 
FROM company c 
LEFT JOIN users u 
ON c.id = u.id_company 
WHERE c.id = ".$removeid."";
$deletecompanycon = $conn->query($deletecompany);
票数 0
EN

Stack Overflow用户

发布于 2018-08-23 03:58:21

可以将ON DELETE CASCADE选项添加到users中的外键约束。如果该公司被DBMS删除,则该公司的所有用户都将被删除。

在一条CREATE TABLE语句中,它看起来与以下内容类似:

代码语言:javascript
复制
CREATE users
       (...
        FOREIGN KEY (id_company)
                    REFERENCES company
                               (id)
                    ON DELETE CASCADE,
        ...);

您必须查看如何准确地将其添加到DBMS中的现有约束中。这里的语法可以有很大的不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51973281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档