我无法理解错误,因为一切都是正确的。 OCN是数据库的名称。我在MySQL控制台上检查了这个查询,它在那里运行得很好。但在功能代码中,它给出了错误。任何人都可以帮我解决错误吗?提前谢谢。
这是我的SQL查询:
DELETE
OCN.practice_sheet_set,
OCN.practice_sheet_questions
FROM
OCN.practice_sheet_set AS practice_sheet_set,
OCN.practice_sheet_questions AS practice_sheet_questions
WHERE
practice_sheet_set.practice_sheet_set_id = practice_sheet_questions.practice_sheet_set_id
AND practice_sheet_set.practice_sheet_id=2
MySQL错误:
1109(MULTI DELETE中的未知表'practice_sheet_set')
答案 0 :(得分:5)
可能应该是
DELETE
practice_sheet_set,
practice_sheet_questions
FROM
OCN.practice_sheet_set AS practice_sheet_set,
OCN.practice_sheet_questions AS practice_sheet_questions
与AS
语句一样(此查询中的含义是什么?)OCN
会丢失。
答案 1 :(得分:1)
此查询应该有效
DELETE
pss,
psq
FROM
OCN.practice_sheet_set AS pss,
OCN.practice_sheet_questions AS psq
WHERE
pss.practice_sheet_set_id = psq.practice_sheet_set_id
AND pss.practice_sheet_id=2
只需删除'AS'或者如果您打算使用它,那么删除应该使用表引用而不是表名
答案 2 :(得分:0)
你可以试试这个
DELETE
OCN.practice_sheet_set,OCN.practice_sheet_questions
FROM OCN.practice_sheet_set AS practice_sheet_set
where practice_sheet_set.practice_sheet_set_id in
(select practice_sheet_questions.practice_sheet_set_id
from OCN.practice_sheet_questions AS practice_sheet_questions
where practice_sheet_set.practice_sheet_set_id=practice_sheet_questions.practice_sheet_set_id
AND practice_sheet_set.practice_sheet_id=2);