DELETE mit muliple tables

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DELETE mit muliple tables

    Hallo Leute,

    bin neu hier und hab natürlich mal gleich eine Frage.

    Das Problem meiner Aufgabe sehe ich derzeit darin:

    "The first multiple-table DELETE syntax is supported starting from MySQL 4.0.0. The second is supported starting from MySQL 4.0.2." laut dev.mysql.com

    Da ich aber Version 3.x verwende ist meine Frage wie ich das lösen kann.

    Theoretisch glaube ich dass der Code MIT multiple Tables so aussehen sollte:
    DELETE FROM products, products_description, products_to_categories wHERE ((`products`.`products_date_added` < '2006-04-06') AND (`products_description`.`products_id` = `products`.`products_id`) AND (`products_to_categories`.`products_id` = `products`.`products_id`))

    Weiß ich aber nicht da ich es nicht testen kann. Ich bräuchte diesen Code aber eben für MySql 3.x

    Kann mir da wer helfen bitte?
    mfg
    mfred

  • #2
    Was genau möchtest Du denn erreichen? Kannst Du ein paar Zeilen von den Tabellen und die Struktur posten?
    Kiesler phpWebSite consulting

    Kommentar


    • #3
      Hallo,

      also ich will folgendes.

      Wenn products_date_added aus der tabelle products älter als 2006-04-10 ist sollen alle Datensätze mit dieser products_id aus den Tabellen
      products,
      products_description &
      products_to_categories

      gelöscht werden.

      Muster products:
      products_id products_model products_date_added
      9468666 1011114 2006-04-11 08:45:27
      9468667 1011152 2006-04-11 08:45:27
      9468668 1011153 2006-04-06 08:40:11

      Muster products_description:
      products_id products_name
      9468666 Produktname1
      9468667 Produktname2
      9468668 Produktname3

      Muster products_to_categories:

      products_id categories_id
      9468666 3
      9468667 8
      9468668 9
      mfg
      mfred

      Kommentar


      • #4
        In einem anderen Forum habe ich folgenden Vorschlag erhalten, der zwar nicht schlecht aussieht aber leider nicht funktioniert:
        PHP-Code:
        DELETE FROM products_description WHERE products_description.products_id = (SELECT products.products_id FROM products WHERE products_date_added '2006-04-06')

        DELETE FROM products_to_categories WHERE products_to_categories.products_id = (SELECT products.products_id FROM products WHERE products_date_added '2006-04-06')

        DELETE FROM products WHERE products_date_added '2006-04-06' 

        als Fehler bringt er:
        #1064 - You have an error in your SQL syntax near 'SELECT products.products_id FROM products WHERE products_date_added < '2006-04-0' at line 1
        mfg
        mfred

        Kommentar

        Lädt...
        X