1

我无法理解错误,因为一切都是正确的。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')

4

3 回答 3

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迷路了。

于 2013-03-26T11:06:36.477 回答
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”,或者如果您打算使用它,那么删除应该使用表引用而不是表名

于 2013-03-26T11:17:13.573 回答
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);
于 2013-03-26T11:28:19.460 回答