MYSQL Feld in andere Tabelle kopieren

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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.

    Comment


    • #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.

      Comment


      • #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

        Comment


        • #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

          Comment


          • #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.

            Comment


            • #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

              Comment


              • #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ß

                Comment

                Working...
                X