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(MULTIDELETEの不明なテーブル'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 に答える