MySQL使用一个变量从多个表中删除
我想从三个单独的表中删除三行。这是我的问题,但它似乎不起作用MySQL使用一个变量从多个表中删除,mysql,Mysql,我想从三个单独的表中删除三行。这是我的问题,但它似乎不起作用 CREATE PROCEDURE `DB`.`deleteArticle` (IN x INT) BEGIN DELETE FROM articles where article_id=x; DELETE FROM AUTHORS where submission_id = select submission_id from article_files where article_id=X; DELETE FROM articl
CREATE PROCEDURE `DB`.`deleteArticle` (IN x INT)
BEGIN
DELETE FROM articles
where article_id=x;
DELETE FROM AUTHORS
where submission_id = select submission_id from article_files where article_id=X;
DELETE FROM article_files
where article_id=X;
END
试试这个
CREATE PROCEDURE `DB`.`deleteArticle` (IN x INT)
BEGIN
DELETE FROM articles
WHERE article_id=x;
DELETE FROM AUTHORS
WHERE submission_id IN (SELECT submission_id FROM article_files WHERE article_id=X);
DELETE FROM article_files
WHERE article_id=X;
END
“它似乎不起作用”什么不起作用?错误?你希望它删除什么?是否要显示表中的一些数据?您在最后一个块中有一个输入错误(DLETE应该是DELETE)\@dragon112抱歉,在键入查询时它是一个类型。您是否有任何外键约束?例如,我希望您需要在文章之前从文章_文件中删除(或从父级到子级级联删除)