PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [SQL] Spalte von Tabelle A in Tabelle B kopieren



danny888
14.02.2010, 14:57
Hi,

ich möchte in die Tabelle vms_kontodaten 2 Spalten hinzufügen. email & username! Jedoch habe ich über 2500 User und möchte nicht jeden Datensatz einzeln übertragen. Gibt es einen Befehl, mit dem ich die emailadressen aus vms_emaildaten in vms_kontodaten kopieren kann?

ich hoffe auf eure hilfe :)

mfg danny888

Lokutos
14.02.2010, 16:32
Direkt in der Datenbank Nein.

aber mittels php dürfte das gehen (Backup seh ich mal als selbstverständlich an)

als erstes die spalten email und username anlegen.

datei erstellen (updaten.php) und aufn ftp laden in /content/

<?php
head();
$query = db_query("select e.emaildaten,u.uid,u.nickname From vms_userdaten as u Left Join vms_emaildaten as e on e.uid = u.uid");

while($daten = mysql_fetch_array($query)){

db_query("UPDATE vms_kontodaten SET email='".$daten['email']."' nickname='".$daten['nickname']."' WHERE uid='".$daten['uid']."' LIMIT 1");
echo $daten['uid'].' hat nickname und email eingetragen <br>'
}
foot();
?>


aufrufen mit http://domain.tld/index.php?content=updaten


ist alles ungetestet

MFG Lokutos

jpwfour
14.02.2010, 18:10
Direkt in der Datenbank Nein.
...

:suspicious:


UPDATE `vms_kontodaten` AS a SET a.hinweis = (SELECT nickname FROM vms_userdaten WHERE uid=a.uid)

Und das ist nur eine von mehreren Möglichkeiten :biggrin1:

Lokutos
14.02.2010, 18:20
:suspicious:


UPDATE `vms_kontodaten` AS a SET a.hinweis = (SELECT nickname FROM vms_userdaten WHERE uid=a.uid)Und das ist nur eine von mehreren Möglichkeiten :biggrin1:


ok wahr mir bis dato unbekannt Wieder was gelernt