2017-01-19 17 views
0

私は

接触テーブル(1個のデータ)
-id
-code
-ip
-date
一覧表Mysql削除内部結合が機能しませんでしたか?

Array 
    (
     [0] => Array 
      (
       [id] => 1 
       [code] => asq12d134 
       [mail] => [email protected] 
       [date] => 2017-01-18 
      ) 
     [1] => Array 
      (
       [id] => 2 
       [code] => 1qeacetq 
       [mail] =>[email protected] 
       [date] => 2017-01-18 
      ) 
       [2] => Array 
      (
       [id] => 3 
       [code] => awq12sq 
       [mail] =>[email protected] 
       [date] => 2017-01-18 
      ) 
    ) 

に接し、contact_messageとcontact_replyデータからデータを削除したいです

contact_messageテーブル(1データ)
-id
-messageid
-message
-date

リストcontact_messageデータ

Array 
(
    [0] => Array 
     (
      [id] => 5 
      [messageid] => 1 
      [message] => A new e-mail 
      [date] => 2017-01-18 
     ) 

) 


SQLクエリ

 DELETE i,im FROM contact AS i 
INNER JOIN contact_message AS im WHERE i.id=im.id and i.id=1 


結果(エラー)

Çözümleme sırasında 3 hata bulundu. 

    Beklenmedik belirteç. (near "i" at position 7) 
    Beklenmedik belirteç. (near "," at position 9) 
    Beklenmedik belirteç. (near "im" at position 11) 
    SQL sorgusu: 

    DELETE i,im FROM contact AS i 
    INNER JOIN contact_message AS im WHERE i.id=im.id and i.id=1 


    MySQL çıktısı: Belgeler 

    #1054 - Unknown column 'i.id' in 'where clause' 

あなたの解決策は何ですか?

答えて

1

私はそれが動作しない理由はわからないけど(それはオプションだが)あなたの代わりWHEREONを活用すべきである - それは大幅に全体を検索する行を低減し、より速く、より安全に実行されます。

DELETE i, im FROM contact i 
JOIN contact_message im ON i.id = im.id 
WHERE i.id = 1 
+0

Good Job :) Worked –

関連する問題