Ankündigung

Einklappen
Keine Ankündigung bisher.

Zusammenführen von verschiedenen Tabellen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zusammenführen von verschiedenen Tabellen

    Hallo,
    ich versuche Tabellen aus verschiedenen Datenbanken zusammenzufahren
    das klappt mit folgendem Befeht wunderbar

    PHP-Code:
        $q2 "INSERT INTO db1.target (feld1,feld2,feld3) SELECT feld1,feld2,feld3 FROM db2.source";
        
    $db->query($q2); 
    Datenbank db1: target hat u.a. die Felder: feld1, feld2 und feld3
    Datenbank db2: source hat u.a. die Felder: feld1, feld2 und feld3

    Die Felder (feld1,feld2, feld3) der Tabelle source aus Datenbank db2 werden komplett in die Tabelle target (Datenbank db1) übernommen.

    jetzt soll zusätzlich ein Variablenwert z.B. $p1 = "X08/15" mit in die target-Tabelle übernommen werden (für jeden Datensatz der gleiche Wert)
    kann ich das in die Abfrage mit einbauen ... oder muß ich erst jedes Feld aus source in eine Variable umspeichern und dann zusätzlich zu den den umespeicherten variablen deann den Variablenwert $p1 mit in target übernehmen?

    das klappt leider nicht
    PHP-Code:
    $p1 "X08/15"
        
    $q2 "INSERT INTO db1.target ($p1,feld1,feld2,feld3) $p1,SELECT feld1,feld2,feld3 FROM db2.source";
        
    $db->query($q2); 

    das auch nicht
    PHP-Code:
    $p1 "X08/15"
        
    $q2 "INSERT INTO db1.target ($p1,feld1,feld2,feld3) SELECT $p1,feld1,feld2,feld3 FROM db2.source";
        
    $db->query($q2); 
    --> Unknown column 'X08/15' ...​​​​​​ die Variable wird als Tabellenfeld betrachtet, das es nicht gibt

    Danke für einen Hinweis!



  • #2
    Du musst das zumindest mal richtig escapen, so wie du sonst auch Spalten und Werte auseinanderhälst.
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      So in etwa: Du musst das Value auch als solches definieren und nicht als Spaltenname.

      PHP-Code:
      $p1 "X08/15"
          
      $q2 "INSERT INTO db1.target (feld0,feld1,feld2,feld3) SELECT '$p1',feld1,feld2,feld3 FROM db2.source"

      Kommentar


      • #4
        Zitat von Zeichen32 Beitrag anzeigen
        So in etwa: Du musst das Value auch als solches definieren und nicht als Spaltenname.

        PHP-Code:
        $p1 "X08/15"
        $q2 "INSERT INTO db1.target (feld0,feld1,feld2,feld3) SELECT '$p1',feld1,feld2,feld3 FROM db2.source"
        Danke ... das ist die Lösung!
        das klappt.

        Kommentar

        Lädt...
        X