Werte aller Einträge in der Tabelle ändern
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anweisung
auslese
aussehen
code
effizient nutzen
frage
helfen
jemand
limit
nehmen
paar
realisieren
sekunde
sender
set
spalten
tabelle
text
typ
update
-
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. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Natürlich ist das möglich. Du hast ja sogar schon beschrieben wie
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 -
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage