Announcement

Collapse
No announcement yet.

Werte aller Einträge der Tabelle ändern

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

  • Werte aller Einträge der Tabelle ändern

    Hallo zusammen,
    ich hoffe ihr könnt mir helfen.
    Ich habe 2 Tabellen die hier relvant sind.
    Tabelle "users" und Tabelle "pms"
    Der Vorgänger der die Tabelle pms angelegt hatte, war so schlau und hat 2 Spalten gehabt "Empfaeger" und "Sender" wo er die Namen der User gespeichert hat statt die ID des Users zu nehmen. Denn in der Tabelle Users stehen alle User drin, mit ID und Name.

    In der neuen Version von dem PM-System werden nur noch die IDs der User in den Spalten gespeichert. Jetzt sollen die alten Einträge auch in der neuen Version vorhanden sein. Da ist jetzt die Frage ist es möglich eine SQL-Anweisung zu schreiben, die jeden Namen in der Tabelle "pms" hernimmt, miit dem Namen der Tabelle "users" vergleicht und bei erfolgreichen suchen die ID des Users in die Tabelle "pms" statt des Names schreibt.

    Hoffe jemand von euch kann mir da helfen.

    MfG
    Wiesel82

  • #2
    update pms set id=(select id from user where name=pms.name)

    Habe die Anweisung ausgeführt, jetzt erhalte ich leider als Fehlermeldung
    " MySQL said: Documentation
    #1242 - Subquery returns more than 1 row "

    Von daher scheint die Query selbst zu stimmen nur kann ich darüber nicht die Spalte ID von pms nicht mit den passenden ID des Users füllen.

    Geht das überhaupt mit PHPmyadmin oder gibt es Skripte mit denen ich diese Anweisung für jeden Eintrag durchführen kann, sodass am Ende in der Spalte ID in pms von dem jeweiligen Benutzer die ID drin steht?
    Beitrag bearbeiten/löschen
    Zuletzt editiert von wiesel82; 04.02.2010, 16:44.

    Comment


    • #3
      Hallo,
      Originally posted by wiesel82 View Post
      ...#1242 - Subquery returns more than 1 row
      das bedeutet einfach, dass der name in der Tabelle user nicht eindeutig ist. Du musst also in irgendeiner Form entscheiden, wie in diesen Fällen zu verfahren ist, sprich welche ID soll verwendet werden, wenn der name nicht eindeutig einer ID zugeordnet werden kann.

      Die betroffenen Namen kannst du dir zuvor ja mal anschauen:
      [highlight=sql]
      select name, count(id) anzahl_id
      from user
      group by name
      having count(id) > 1
      [/highlight]

      Gruß Falk
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #4
        Danke für die Hilfe habe die doppelten User rausgeworden, hat wohl das System nicht gemerkt, das die doppelt sind und konnte dann das gewünschte Ergebnis erhalten. Vielen Dank.

        Comment

        Working...
        X