update über zwei Datenbanken MySQL

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von belubaba, 04.01.2009.

  1. #1 belubaba, 04.01.2009
    belubaba

    belubaba Tripel-As

    Dabei seit:
    20.09.2005
    Beiträge:
    184
    Zustimmungen:
    0
    Hallo Zusammen,

    ich habe gerade das Problem das ich ein Feld einer Tabelle in einer Datenbank aus dem Felde der gleichen Tabelle in einer anderen Datenbank aktualisieren muss.

    Hier war meine Idee dazu die im phpmyadmin ausgeführt werden sollte:

    Code:
    UPDATE `db1`.`products_attributes_download` 
    set `db1`.`products_attributes_download`.`products_attributes_maxdays` 
    = `db2`.`products_attributes_download`.`products_attributes_maxdays` 
    where `db2`.`products_attributes_download`.`products_attributes_id` =
    `db1`.`products_attributes_download`.`products_attributes_id`
    PHP MyAdmin schreibt mir dazu: Unbekanntes Tabellenfeld 'db2.products_attributes_download.products_attributes_id' in where clause

    Tabellen Kopieren funktioniert auf diese weise ohne Probleme ein Update offensichtlich nicht. Funktioniert das grundsätzlich nicht oder hab ich einfach einen Fehler im Statement?

    Gruß

    b.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 sim4000, 04.01.2009
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Der Grundgedanke ist falsch. Der Zugriff auf eine fremde Datenbank ist schon richtig. "datenbankname.tabellenname.feldname" Voraussetzung dabei ist, dass der Datenbankuser auf beide DBs Zugang hat.
    Vergleiche dein Statement mal mit einem "normalem" update:
    Code:
    update table set
       field_1='fooo'
    where
       field_2='bar';
    Du gibst deinem Update Statement aber nicht einen Wert, sondern eine ganze Spalte. (Vergleichbar mit "field_1=field_2") Das kann ja nicht funktionieren, da das Update einen Wert erwartet, und nicht mehrere.

    Daher musste da mit einen Subquery arbeiten:
    Code:
    update db1.table1 set
       db1.table.1.field_foo = (select field_bar from db2.table2 where foo='bar')
    where
       db1.table.1.field_foo = 'lala'
    Dabei muss darauf geachtet werden, das dass Subquery nur einen Wert ausspuckt. Also eine Spalte, und einen Datensatz.

    Was hast du eigentlich vor?
     
  4. #3 belubaba, 04.01.2009
    Zuletzt bearbeitet: 04.01.2009
    belubaba

    belubaba Tripel-As

    Dabei seit:
    20.09.2005
    Beiträge:
    184
    Zustimmungen:
    0
    Ich habe eine Shop Entwicklungsdatenbank in der die Produkte von mehreren Personen gepflegt werden.

    Die Produkttabellen werden jeden Morgen vom Entwicklungsshop in den Live Shop geschoben.
    Dummerweise steckt in den Tabellen die Produktanzahl. So das ich mir diese überschreiben würde. (Werden ja zwischen den Synchronisationen bereits vorhandene Produkte verkauft)

    Also muss ich vorher ein Update vom Liveshop zum Entwicklungsshop machen um diese Werte glattzuziehen und danach kann ich die Synchronisation laufen lassen ...

    Also brauche in ein Update zwischen zwei Datenbanken.

    Danke für den Hinweis. Hatte echt ein Brett vorm Kopf :)

    Jetzt schaut die Sache so aus und funktioniert auch ...

    UPDATE `oscshop`.`products_attributes_download` set `oscshop`.`products_attributes_download`.`products_attributes_maxdays` = (SELECT `osentw`.`products_attributes_download`.`products_attributes_maxdays` FROM `osentw`.`products_attributes_download` WHERE `osentw`.`products_attributes_download`.`products_attributes_id` = `oscshop`.`products_attributes_download`.`products_attributes_id`)
     
  5. #4 sim4000, 04.01.2009
    sim4000

    sim4000 Lebende Foren Legende

    Dabei seit:
    12.04.2006
    Beiträge:
    1.933
    Zustimmungen:
    0
    Ort:
    In meinem Zimmer
    Schön das ich helfen konnte. :)
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema: update über zwei Datenbanken MySQL
Besucher kamen mit folgenden Suchen
  1. mysql update mehrere tabellen

Die Seite wird geladen...

update über zwei Datenbanken MySQL - Ähnliche Themen

  1. SVN Update über SSH mithilfe eines Scripts mit Debian

    SVN Update über SSH mithilfe eines Scripts mit Debian: Hallo, ich habe auf meinem Rechner (Debian) folgendes Script geschrieben und mit chmod 755 ausführbar gemacht. #!/bin/sh cd...
  2. Updates per Shell Script überprüfen

    Updates per Shell Script überprüfen: Hallo erstmal, also ich hab bisher leider überhaupt keine richtige Erfahrung was ShellScripts angeht. Im moment bin ich auf der Suche nach...
  3. Fedora Core9: Dynamische DNS-Updates über DHCP einrichten

    Fedora Core9: Dynamische DNS-Updates über DHCP einrichten: hi leutz, ich möchte unter Fedora Core 9 dynamische DNS-Updates über DHCP mittels einem Key DHCP_UPDATER einrichten. Den Key habe ich mittels...
  4. dynamisches Update von DN" über DNHCP

    dynamisches Update von DN" über DNHCP: Hi, auch auf die Gefahr hin blöd darzustehen, muss mal wieder was zu dynamischen Update von DNS durch DHCP gepostet werden. Also ich hab ne...
  5. Kann nicht updaten über YasT

    Kann nicht updaten über YasT: Das ZEN Updaten geht nicht ist mir klar: ---------- Erstes Update der Paketverwaltung Problem: Das erste Update der Paketverwaltung ist nicht...