Vinzenz Mai: Spalten zu einer anderen Datenbank kopieren

Beitrag lesen

Hallo Hendrik,

habe zwei MySQL-Datenbanken und möchte gerne aus der einen Datenbank (Tabelle x) die Spalten Name und Ort (nachdem ich meinen Select durchgeführt habe z.B. alle Namen beginnend mit A) in eine andere Datenbank in die Tabelle y in die Spalten Name und Ort einfügen.

wenn Du mit dem gleichen Benutzer auf _beide_ Datenbanken zugreifen kannst, beide Datenbanken sich auf dem gleichen Server befinden, so kannst Du mit einer einzigen SQL-Anweisung diese Aufgabe erledigen.

Nehmen wir an die Ausgangsdatenbank heiße "quelle" und die Zieldatenbank heiße "ziel". Dann erledigt

INSERT INTO ziel.y  -- Gib den Namen in der Form Datenbankname.Tabellenname an  
    (Name, Ort)     -- Zielspalten  
    SELECT          -- das Ergebnis folgender Abfrage  
        q.person,   -- Verwende den Aliasnamen für die Ausgangstabelle  
        q.ort  
    FROM quelle.x q        -- Hier wird der Aliasname bestimmt  
    WHERE q.Name LIKE 'A%' -- Alle Datensätze, bei denen der Name mit A beginnt  

Unter MySQL 4.1.15 erfolgreich nachvollzogen.

Nochmals kurz zusammengefasst:

Voraussetzungen:
  - Beide Datenbanken auf dem gleichen Server,
  - Zugriff mit dem gleichen Benutzer muss erlaubt sein

Durchführung:
  - Verwende qualifizierte Namen der Form
    Datenbankname.Tabellenname bzw.
    Datenbankname.Tabellenname.Spaltenname

Freundliche Grüße

Vinzenz