mysqlnewbie: Neue ID in neuer Spalte

Hallo Ihr

Folgendes: Ich habe eine Tabelle (hersteller). Dort sind verschiedene Hersteller drin. Z.B. AEG / Vorwerk / Kenwood....
Nun muß ich jedem nachträglich eine eindeutige id zuweisen.
z.B. AEG =1 usw.
Problem die Tabelle ist schon vorhanden wobei ich ein neues Feld einfügt habe. (herstellerid)
Einige Hersteller sind öfters vorhanden, sollen natürlich nur eimal eine ID bekommen.

Wer kann mir da mal helfen?

Danke schonmal

  1. Hi,

    Wer kann mir da mal helfen?

    eventuell. Wo ist bei der Geschichte Dein Problem?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Also
      Tabelle artk
      Spalte  händler / Z.B. AEG, Kennwood ....sind alle öfters vorhanden

      Neue Spalte in arkt händlerid

      Nun sollen jedem Händler in der neuen Spalte eine ID zugewiesen werden

      1. Hi,

        Nun sollen jedem Händler in der neuen Spalte eine ID zugewiesen werden

        ich habe verstanden, was das Ergebnis sein soll. Aber wo ist Dein _Problem_?

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Sorry ich weis nit wie ich das machen soll.

          Noch zur Info. in der DB sind ca 6000 Einträge

          id  prod_id  hersteller  modell          handlerid
          1 40037479 Rowenta RB-860 Allessauger
          2 40073743 Hoover F-5857 Saugbohner
          3 40004235 Pioneer TS-124   Boxen
          4 40004244 Pioneer TS-1     Boxen

          wäre für den SQL oder phpcode dankbar

          1. Hi,

            Sorry ich weis nit wie ich das machen soll.

            die Dokumentation zu MySQL - wenn ich Deinem Namen richtig entnehme, dass Du dieses nutzt - findest Du bei http://www.mysql.com/. Grundlagen zu SQL, Tutorials zu PHP in Kombination mit MySQL, FAQs und vieles mehr sind im Archiv oft genannt worden. Zumindest diese einschlägigen Quellen zu kennen und darin recherchieren zu können ist etwas, was wir von Dir erwartet.

            Noch zur Info. in der DB sind ca 6000 Einträge

            Mit DISTINCT erhälst Du eine Liste aller einzelnen z.B. Hersteller.

            wäre für den SQL oder phpcode dankbar

            Diesen zu schreiben obliegt Dir. Wir weisen Dir nur den Weg dahin, ihn selbst schreiben zu können.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. DISTINCT habe ich schon gemacht.
              Auch suche ich in den einschlägigen unterlagen !!
              Ich möchte ja nicht das Ihr mir alles an code macht, sondern
              eher ein Ansatz wie ich nun mit dem Ergebnis aus dem DISTINCT meine
              neue Spalte in der Tabelle fülle.

              greetz

              1. Hi,

                DISTINCT habe ich schon gemacht.

                das ist schon mal gut.

                eher ein Ansatz wie ich nun mit dem Ergebnis aus dem DISTINCT meine
                neue Spalte in der Tabelle fülle.

                Pro Ergebnis ein UPDATE-Statement wäre wohl der leichteste Weg, bei dem man am wenigsten falsch machen kann.

                Cheatah

                --
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Pro Ergebnis ein UPDATE-Statement wäre wohl der leichteste Weg, bei dem man am wenigsten falsch machen kann.

                  Also mit WHILE ....?
                   UPDATE SET händlerid ?????

                  Frage: geht soetwas nicht gleich über phpMyAdmin ???

                  1. Hi,

                    Also mit WHILE ....?

                    außerhalb von SQL, ja, beispielsweise.

                    UPDATE SET händlerid ?????

                    Die genaue Syntax erfährst Du in der MySQL-Doku.

                    Frage: geht soetwas nicht gleich über phpMyAdmin ???

                    Klar, indem Du manuell die Statements erzeugst und ausführst.

                    Cheatah

                    --
                    X-Will-Answer-Email: No
                    X-Please-Search-Archive-First: Absolutely Yes
                    1. Hallo hier mein Ansatz.
                      klappt leider nicht so ganz.

                      $sql_c="SELECT DISTINCT hersteller FROM artikel";
                      $bcs=mysql_query($sql_c,$link);

                      while($bc=mysql_fetch_array($bcs))
                      {
                      $x= 1;
                      $sql="INSERT INTO artikel (handlerid) VALUES ('$X')";
                      $bcs=mysql_query($sql_c,$link);
                      $x++
                      }

                      1. Hi,

                        klappt leider nicht so ganz.

                        Du willst ja auch keine neuen Einträge hinzufügen, sondern bestehende verändern. Das richtige Stichwort dazu hast Du selbst schon in Deinem vorhergegangenen Posting genannt.

                        $sql="INSERT INTO artikel (handlerid) VALUES ('$X')";

                        Desweiteren denke ich, dass die Spalte handlerid einen nummerischen Typ hat.

                        Cheatah

                        --
                        X-Will-Answer-Email: No
                        X-Please-Search-Archive-First: Absolutely Yes
                        1. Hallo

                          nein nein die Spalte handlerid habe ich neu hinzugefügt. demzufolge ist sie leer.
                          Da sollen nun die handlerids rein....

                          1. Hi,

                            nein nein die Spalte handlerid habe ich neu hinzugefügt.

                            ja, und jetzt ist sie da. INSERT INTO ist zum Hinzufügen von Daten_sätzen_.

                            demzufolge ist sie leer.

                            Aber da. Wie wärst Du vorgegangen, wenn es die Spalte von Anfang an gegeben hätte, und wenn sie vielleicht in manchen Fällen auch schon gefüllt wäre?

                            Cheatah

                            --
                            X-Will-Answer-Email: No
                            X-Please-Search-Archive-First: Absolutely Yes
                            1. Hallo

                              das script läuft und läuft.....
                              is da was falsch?
                              Hab mal eine Testtabelle mit 500 Einträgen genommen

                              $sql_c = "SELECT DISTINCT hersteller FROM artikel";
                              $bcs = mysql_query($sql_c,$link);
                              $x = 1;
                              while($bc = mysql_fetch_array($bcs, MYSQL_ASSOC))
                              {
                              $sql = "UPDATE artikel SET handlerid=".$x." WHERE hersteller='".$row['hersteller']."'";
                              $bcs = mysql_query($sql_c,$link)    or die("Update fehlgeschlagen: ".mysql_error());
                              $x++;}

                              1. Hi,

                                du überschreibst dir deinen Ergebnishandle (vermute ich):

                                $bcs = mysql_query($sql_c,$link);
                                $x = 1;
                                while($bc = mysql_fetch_array($bcs, MYSQL_ASSOC))
                                {
                                $sql = "UPDATE artikel SET handlerid=".$x." WHERE hersteller='".$row['hersteller']."'";
                                $bcs = mysql_query($sql_c,$link) ...

                                --> du verwendest beide Male $bcs, d.h. deine while Schleife wird eventuell etwas unkontroliierbares by mysql_fetch_array machen, z.B. jedes Mal auf einer neuen Abfrage arbeiten oder so...

                                MfG
                                Rouven

                                --

                                -------------------
                                ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(