我想从三个单独的表中删除三行。这是我的查询,但它似乎无法正常工作。
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
答案 0 :(得分:2)
尝试这个
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