Nasıl MySQL birden çok tablodan silmek için? | Netgez.com
SORU
26 Temmuz 2010, PAZARTESÄ°


Nasıl MySQL birden çok tablodan silmek için?

Bir kaç tablodan aynı anda silmek için çalışıyorum. Biraz araştırma yaptım ve bu çıktı

DELETE FROM `pets` p,
            `pets_activities` pa
      WHERE p.`order` > :order
        AND p.`pet_id` = :pet_id
        AND pa.`id` = p.`pet_id`

Ancak, bu hata alıyorum

Yakalanmamış Database_Exception [ 1064 ]: bir hata, SQL sözdizimi; onay manuel karşılık gelen için MySQL sunucu sürümü için doğru sözdizimi için kullanmak yakınlarındaki 'S, pets_activities pa...

Daha önce çapraz tablo sil yaptım, şu an için tecrübesiz ve tıkıldım kaldım!

Neyi yanlış yapıyorum?

CEVAP
11 Temmuz 2012, ÇARŞAMBA


JOIN DELETE bir deyim.

DELETE p, pa
      FROM pets p
      JOIN pets_activities pa ON pa.id = p.pet_id
     WHERE p.order > :order
       AND p.pet_id = :pet_id

Alternatif olarak kullanabilirsiniz...

DELETE pa
      FROM pets_activities pa
      JOIN pets p ON pa.id = p.pet_id
 WHERE p.order > :order
   AND p.pet_id = :pet_id

...sadece pets_activities silmek için

http://dev.mysql.com/doc/refman/5.0/en/delete.html bkz

Henüz tutarlılığı ile tek masa siler,,,, vs VAR, VAR DEĞİL yapmanın baÅŸka yolları da vardır. Ama fıkra önce takma isimle silmek için hangi belirtin nerede yukarıda bir çok sıkı bir kaç leke daha kolay olabilir. Vakaların ™ oranında VAROLAN bir ulaÅŸmak eÄŸilimindedir ve bu MySQL sözdizimi gün aldığı 1'i var.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • The Platform

    The Platform

    14 HAZÄ°RAN 2006
  • whatever

    whatever

    30 EYLÃœL 2005
  • WhtButterflyLiz

    WhtButterfly

    14 NÄ°SAN 2008