kostenloser Webspace werbefrei: lima-city


Werte aller Einträge in der Tabelle ändern

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    wurstbaum

    wurstbaum hat kostenlosen Webspace.

    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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Natürlich ist das möglich. Du hast ja sogar schon beschrieben wie :wink:

    D.h. du hast ja schon einen Lösungsansatz, wo genau liegt jetzt dein Problem?

    Denkanstoss:

    1. Empfänger und Sender aus pms auslesen (SELECT)
    2. ID zu Empfänger und Sender aus users auslesen (SELECT, WHERE)
    3. Empfängername und Sendername durch Empfänger-ID und Sender-ID ersetzten (UPDATE)

    Beitrag zuletzt geändert: 12.2.2010 11:01:53 von buechsdeluxe
  4. Autor dieses Themas

    wurstbaum

    wurstbaum hat kostenlosen Webspace.

    wie würde der code denn aussehen?
  5. vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    Das kannst du leicht über Subqueries realisieren. Einfach folgendes Query ausführen und ein paar Sekunden arbeiten lassen:
    UPDATE `pms` SET `Empfaenger` = (SELECT `id` FROM `users` WHERE `Name` = `pms`.`Empfaenger` LIMIT 1), `Sender` = (SELECT `id` FROM `users` WHERE `Name` = `pms`.`Sender` LIMIT 1)

    Denk aber daran, dass die Spalten danach immernoch vom Typ TEXT o.ä. sind und du sie noch alternieren musst, um sie effizient nutzen zu können.

    Liebe Grüße
    - VampireSilence
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!