Mailinglisten-Archive |
Hallo, > ich muss einzelne tabellen per skript in eine andere DB kopieren, > möchte mir allerdings zahlreiche SELECTS und wieder INSERTS sparen, > wie löse ich das am besten?! ich gehe mal von einer MySQL Datenbank aus, da nichts angegeben war dazu. 1. Variante: Zieltabelle existiert noch nicht: CREATE TABLE new_tbl SELECT * FROM orig_tbl; 2. Variante: Zieltabelle existiert schon, ist aber leer: INSERT INTO new_tbl SELECT * FROM orig_tbl; Das funktioniert so erst enmal innerhalb ein und derselben Datenbank. Schreibt man die Tabellennamen vollständig, so geht das auch quer über DBs: CREATE TABLE db1.new_tbl SELECT * FROM db2.orig_tbl; und INSERT INTO db1.new_tbl SELECT * FROM db2.orig_tbl; Ab MySQL 4.1 besteht auch die Möglichkeit, Tabellen per Like Statement zu erzeugen: CREATE TABLE new_tbl LIKE old_tbl; Dazu würde ich aber noch das Manual beachten, weil da nicht alles mitkopiert wird. Zu guter Letzt besteht noch die Möglichkeit, sich das Create Table Statement für eine bestehende Tabelle anzeigen zu lassen und damit auch mit geändertem Namen wieder weg zu schreiben: SHOW CREATE TABLE old_tbl; Da könnte man den alten Namen durch einen neuen ersetzen und das Statement wieder im MySQL absetzen. Eine der Methoden sollte helfen ;) Viele Grüße, Volker Göbbels -- Arachnion GmbH & Co. KG Dr. Volker Göbbels Business Communication vmg at arachnion.de Sandkaulbach 4 Tel. +49 (0) 241-55911-06 52062 Aachen Fax +49 (0) 241-55911-07
php::bar PHP Wiki - Listenarchive