MySql DELETE katılın?

3 Cevap php

Ben bu var:

$query="DELETE FROM classified, $sql_table WHERE classified.ad_id = '$id' AND classified.classified_id = $sql_table.classified_id AND classified.poster_password='$pass'";

Ben bu hatayı alıyorum: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE classified.ad_id = 'Bmw_M3_E46_Full_29920' AND classified.cla' at line 1

Herhangi bir yardım?

As you can see the $sql_table is linked to the classifieds table with the fields classified_id I need to JOIN DELETE somehow.

Temelde sınıflandırılmış masa sonra her kategori taşıt verileri ile kendi tabloları vardır, ana tablo. Sınıflandırmaya tablosu ile aynı olan bir alan adı olan classified_id

İşte tam sorgusu yankılandı:

DELETE FROM classified, vehicles WHERE classified.ad_id = 'Bmw_M3_E46_410811305' AND classified.classified_id = vehicles.classified_id AND classified.poster_password='some_password'

Bu çalışma değildir Neden, birden fazla tablodan silmek için çok zor olmalı?

Teşekkürler

3 Cevap

DELETE a, b FROM
classified as a, $sql_table as b
WHERE
classified.ad_id = '$id' 
AND classified.classified_id = $sql_table.classified_id 
AND classified.poster_password='$pass'";

Source: Source

MySQL sitesi DELETE deyimi sonra tabloları beyan gerekebilir olduğunu gösterir:

Multiple-table syntax:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
  tbl_name[.*] [, tbl_name[.*]] ...
  FROM table_references
  [WHERE where_condition]

ben sadece bir şey algılamak ama bilmiyordum onun gerçekten çalışıyor ya, ilk önce bu gibi iki tablodaki bağlı istediğiniz koymak deneyin:

 DELETE FROM classified, vehicles WHERE classified.classified_id = vehicles.classified_id
AND classified.ad_id = 'Bmw_M3_E46_410811305' 
AND classified.poster_password='some_password'

o zaman sadece Silmek istediğiniz sütun tam ne değer. dönmek n deneyin lütfen.