Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用从两个数据库表中删除数据_Mysql_Sql - Fatal编程技术网

Mysql 如何使用从两个数据库表中删除数据

Mysql 如何使用从两个数据库表中删除数据,mysql,sql,Mysql,Sql,我需要一次删除两个表中的数据。我在一个电子表格中有文章,在另一个电子表格中有页面权限,可以清楚地指定谁可以访问文章,谁不可以。但是,如果我想删除给定的文章,我无法根据url文章组合sql代码来删除权限。我试过了,没有结果 DELETE * FROM article_permission JOIN article ON article.article_id = article_permission.article_id WHERE article.url = 'kjebgkwb' 如果您在DEL

我需要一次删除两个表中的数据。我在一个电子表格中有文章,在另一个电子表格中有页面权限,可以清楚地指定谁可以访问文章,谁不可以。但是,如果我想删除给定的文章,我无法根据url文章组合sql代码来删除权限。我试过了,没有结果

DELETE * FROM article_permission
JOIN article ON article.article_id = article_permission.article_id
WHERE article.url = 'kjebgkwb'
如果您在DELETE CASCADE中将表关系设置为
,那么您只需要从
article
表中删除,DB就会为您完成其余的工作,这就更容易了

DELETE ap.*, a.* 
FROM article_permission ap
JOIN article a ON a.article_id = ap.article_id
WHERE a.url = 'kjebgkwb'

您必须运行两个不同的删除查询,或者必须在另一个表上设置外键,以便它将自动删除具有此id的记录

DELETE ap.*, a.* 
FROM article_permission ap
JOIN article a ON a.article_id = ap.article_id
WHERE a.url = 'kjebgkwb'
delete t1.*, t2.* FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id WHERE t1.id = 'idnumber'