MYSQL Feld in andere Tabelle kopieren

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

  • MYSQL Feld in andere Tabelle kopieren

    Hallo,

    habe Produktdaten in zwei verschiedenen Tabellen, deren gemeinsames Feld die "products_id" ist und möchten nun das Feld "short_desc" aus der Tabelle "products" in die Tabelle "products_description" übertragen.

    Ich komme aber nicht weiter. Neben einem Insert into Befehl in verschiedenen Variationen habe ich auch hiermit gearbeitet:

    PHP-Code:
    UPDATE products_description SET products_description.short_desc products.short_desc 
    dies hier klappt auch nicht:

    PHP-Code:
    UPDATE products_description SET products_description.short_desc products.short_desc WHERE products.products_id products_description.products_id 
    Was wohl funktioniert, aber mich nicht weiterbringt, ist:

    PHP-Code:
    UPDATE products_description SET products_description.short_desc 
    Also stat der 2 müsste da sowas stehen wie: "Genauso wie in der products Tabelle", aber das versteht phpMyAdmin nicht

    Hat jemand eine Idee? Muss das irgendwas mit "INNER JOIN" werden oder so?

    Danke vorab für die Hilfe.

  • #2
    Ich kann mir nicht vorstellen, dass es hier keine Fehlermeldung gibt.
    Wie wäre es, wenn du dir diese mal anschaust und wenn du immer noch nicht weiterkommst, dann kannst du ja nochmal fragen.
    Assembler ist eine Methode,
    Programme, die zu langsam laufen,
    so umzuschreiben,
    dass sie überhaupt nicht mehr laufen.

    Kommentar


    • #3
      Hallo,

      die Fehlermeldung für

      PHP-Code:
      UPDATE products_description SET products_description.short_desc products.short_desc WHERE products.products_id products_description.products_id 
      ist:
      PHP-Code:
       #1054 - Unknown column 'products.products_id' in 'where clause' 
      und die für
      PHP-Code:
       UPDATE products_description SET products_description.short_desc products.short_desc 
      ist:
      PHP-Code:
      #1054 - Unknown column 'products.short_desc' in 'field list' 
      Da hab ich doch irgendwas in der Syntax falsch, oder?

      also short_desc ist ein Feld sowol in der Tabelle products_description als auch in products.

      Schönen Dank schonmal.

      Kommentar


      • #4
        Hallo,

        existiert in der Tabelle products_description die Spalte short_desc?
        Dann sollte folgender Code funktionieren.

        PHP-Code:
        $sql mysql_query("SELECT product_id, short_desc FROM products");
        while(
        $row mysql_fetch_array($sql)) {
        $up mysql_query("UPDATE products_description SET short_desc = '".$row['short_desc']."' WHERE produkt_id = ".$row['product_id']);

        vg
        gourmet

        Kommentar


        • #5
          Sehr cool, danke! Muss man wohl den Umweg über PHP gehen und kann das nicht direkt in der DB machen. Hat aber geklappt, also Daumen hoch!

          LG
          Kabbelwasser

          Kommentar


          • #6
            Original geschrieben von Kabbelwasser
            Muss man wohl den Umweg über PHP gehen und kann das nicht direkt in der DB machen.
            Nein?
            Ich würde einfach mal alle Tabellen selektieren, mit denen ich in der Query arbeiten will. Das sagt dir die Fehlermeldung wohl auch, oder?
            Code:
            UPDATE products_description, products SET products_description.short_desc = products.short_desc WHERE products.products_id = products_description.products_id
            Assembler ist eine Methode,
            Programme, die zu langsam laufen,
            so umzuschreiben,
            dass sie überhaupt nicht mehr laufen.

            Kommentar


            • #7
              nein, man kann es auch per sql machen, da ich persönlich lieber mit php arbeite habe ich dir eine php Lösung vorgeschlagen.

              vg
              gourmet

              Kommentar


              • #8
                Hi,

                könntest Du mir den Befehl bitte für phpmyadmin, d.h. als SQL Befehl aufschreiben, bring das nicht auf die Reihe.

                Mein Problem ist ähnlich, hoffe der Befehl klappt da auch...

                Habe eine Tabelle "User_alt", da sind 4 Felder (xy1, xy2, xy3, xy4). Von den 4 Feldern will ich 3 Felder (xy1, xy2 und xy3) in die Tabelle "User_neu" kopieren will. Doch egal ob die Felder in der neuen Tabelle vorhanden sind oder nicht klappt es mit den folgendem Befehl:

                INSERT INTO `user_neu` SELECT NULL, xy1, xy2, xy3 FROM `user_alt`

                Danke Gruß

                Kommentar

                Lädt...
                X